opencv 中每个通道的 HSV、YCrCb 和 LAB 颜色空间的像素值范围是多少 python

What is the range of pixel values in HSV , YCrCb, and LAB color spaces for each channel in opencv python

opencv中HSV、YCrCb和LAB颜色空间的取值范围是多少python。例如在 RGB 中,R -> 0-255,G -> 0-255 和 B -> 0-255。上述颜色空间的有效范围是多少。

谢谢

OpenCV documentation 完全涵盖了这一点。只是回顾一下您的具体问题,对于 8 位图像,使用以下转换代码从 BGR 图像转换将为您提供每个通道的以下最大值:

  • COLOR_BGR2HSV --> [180, 255, 255]
  • COLOR_BGR2Lab --> [255, 255 255]
  • COLOR_BGR2YCrCb --> [255, 255 255]

对于未映射到完整 255 个值的各种颜色转换,还有一个附加选项,通常通过将 _FULL 附加到转换代码,以便它们使用完整范围。

例如,HLS 和 HSV 色彩空间通常在 [0, 360) 中给出 H(色调)通道值,以在色轮上映射 360 度色彩。但是,您不能将这些值放入 uint8 类型中,因此 OpenCV 使用 COLOR_BGR2HSVCOLOR_BGR2HLS 将该值除以 2 以使其适合,但这意味着您只能指定 180 个单独的uint8 图像中的色调。但是您可以适合 255 个不同的值,因此存在选项 COLOR_BGR2HSV_FULLCOLOR_BGR2HLS_FULL(以及相反的选项)来指定为色相通道使用完整的 255 个范围;因此 0 映射到 0,255 映射到 360 度,并且在两者之间线性间隔。

所有可用的颜色代码都可以在文档的 ColorConversionCodes 下看到。