【发布时间】:2018-10-04 01:41:12
【问题描述】:
在 OpenCV (Python) 中,将 RGB 转换为 YCbCr 我们使用:
imgYCC = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
如果我想回到 RGB 怎么办?
【问题讨论】:
-
cv2.cvtColor(imgYCC, cv2.COLOR_YCR_CB2BGR)
标签: python python-3.x opencv
在 OpenCV (Python) 中,将 RGB 转换为 YCbCr 我们使用:
imgYCC = cv2.cvtColor(img, cv2.COLOR_BGR2YCR_CB)
如果我想回到 RGB 怎么办?
【问题讨论】:
cv2.cvtColor(imgYCC, cv2.COLOR_YCR_CB2BGR)
标签: python python-3.x opencv
检查docs for color conversions。您可以在此处查看所有可用的颜色转换代码:Conversion Color Codes。
对于可用的色彩空间,您通常可以两种方式进行转换——COLOR_BGR2YCrCb(即 BGR-to-YCrCb)和COLOR_YCrCb2BGR(即 YCrCb-to-BGR)。此外,OpenCV 使用 BGR 排序,而不是 RGB 排序。无论如何,要回答手头的具体问题,只需使用颜色空间的相反顺序进行转换:
img_bgr = cv2.cvtColor(imgYCC, cv2.COLOR_YCrCb2BGR)
注意:cv2.COLOR_YCrCb2BGR 等同于cv2.COLOR_YCR_CB2BGR,我只是发现第一个变体更容易阅读。由于这些转换(尤其是在 uint8 图像上),因此会进行一些舍入,因此您不一定会得到完全相同相同的图像。但您在某些地点的折扣不应超过 1 次。
【讨论】: