【发布时间】:2014-08-18 02:55:11
【问题描述】:
我正在使用 OpenCV 2 在 YCbCr 颜色空间中进行一些图像处理。目前我可以检测到由于转换 RGB -> YCbCr 然后是 YCbCr -> RGB 而产生的一些噪音,但正如 documentation 中所说:
如果对 8 位图像使用 cvtColor,转换会丢失一些信息。对于许多应用程序来说,这并不明显,但建议在需要全范围颜色或在操作前转换图像然后再转换回来的应用程序中使用 32 位图像。
所以我想将我的图像转换为 16 位或 32 位,但我没有找到如何使用 NumPy 进行转换。一些想法?
img = cv2.imread(imgNameIn)
# Here I want to convert img in 32 bits
cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB, img)
# Some image processing ...
cv2.cvtColor(img, cv2.COLOR_YCR_CB2BGR, img)
cv2.imwrite(imgNameOut, img, [cv2.cv.CV_IMWRITE_PNG_COMPRESSION, 0])
【问题讨论】:
-
如果解决了您的问题,请将其写为答案并接受,以便将其标记为“已解决”。
-
对不起,我没有看到任何接受答案并将问题标记为已解决的按钮,我该怎么办?
-
@user3263033 您需要发布您的问题的答案,然后单击您的答案旁边的勾号以接受它
标签: python opencv image-processing numpy