【问题标题】:Python OpenCV: How to convert YCbCr back to RGB?Python OpenCV:如何将 YCbCr 转换回 RGB?
【发布时间】: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


【解决方案1】:

检查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 次。

【讨论】:

  • 这点应该特别强调:“另外,OpenCV 使用 BGR 排序,而不是 RGB 排序”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-15
  • 2021-11-25
  • 1970-01-01
  • 1970-01-01
  • 2016-06-06
相关资源
最近更新 更多