2024-10-04 11:21:48 发布
网友
在OpenCV(Python)中,要将RGB转换为YCbCr,我们使用:
imgYCC = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
如果我想回到RGB呢?在
检查docs for color conversions。您可以在这里看到所有可用的颜色转换代码:Conversion Color Codes。在
对于可用的颜色空间,通常可以两种方式转换-COLOR_BGR2YCrCb(即BGR到YCrCb)和COLOR_YCrCb2BGR(即YCrCb到BGR)。另外,OpenCV使用BGR排序,而不是RGB排序。无论如何,要回答手头的具体问题,只需使用颜色空间的相反顺序进行转换:
COLOR_BGR2YCrCb
COLOR_YCrCb2BGR
img_bgr = cv2.cvtColor(imgYCC, cv2.COLOR_YCrCb2BGR)
注意:cv2.COLOR_YCrCb2BGR相当于cv2.COLOR_YCR_CB2BGR,我只是发现第一个变体更容易阅读。由于这些变换(尤其是在uint8图像上),会进行一些舍入操作,因此您不必得到前后四个相同的图像。但在一些地方你不应该超过一个。在
cv2.COLOR_YCrCb2BGR
cv2.COLOR_YCR_CB2BGR
uint8
检查docs for color conversions。您可以在这里看到所有可用的颜色转换代码:Conversion Color Codes。在
对于可用的颜色空间,通常可以两种方式转换-
COLOR_BGR2YCrCb
(即BGR到YCrCb)和COLOR_YCrCb2BGR
(即YCrCb到BGR)。另外,OpenCV使用BGR排序,而不是RGB排序。无论如何,要回答手头的具体问题,只需使用颜色空间的相反顺序进行转换:注意:
cv2.COLOR_YCrCb2BGR
相当于cv2.COLOR_YCR_CB2BGR
,我只是发现第一个变体更容易阅读。由于这些变换(尤其是在uint8
图像上),会进行一些舍入操作,因此您不必得到前后四个相同的图像。但在一些地方你不应该超过一个。在相关问题 更多 >
编程相关推荐