python - opencv python中每个通道的HSV,YCrCb和LAB颜色空间中的像素值范围是多少
问题描述
opencv python中HSV,YCrCb和LAB颜色空间的值范围是多少。例如在 RGB 中,R -> 0-255、G -> 0-255 和 B -> 0-255。上述色彩空间的有效范围是多少。
谢谢
解决方案
OpenCV 文档完全涵盖了这一点。不过,为了回顾您的具体问题,对于 8 位图像,使用以下转换代码从 BGR 图像转换将为您提供每个通道的以下最大值:
COLOR_BGR2HSV --> [180, 255, 255]
COLOR_BGR2Lab --> [255, 255 255]
COLOR_BGR2YCrCb --> [255, 255 255]
对于未映射到完整 255 值的各种颜色转换,还有一个附加选项,通常通过附加_FULL
到转换代码,以便它们使用完整范围。
例如,HLS 和 HSV 颜色空间通常会给出 H(色调)通道值,[0, 360)
以在色轮上映射 360 度颜色。但是,您无法将这些值放入一个uint8
类型中,因此 OpenCV 将这个值除以 2 以COLOR_BGR2HSV
使其COLOR_BGR2HLS
适合,但这意味着您只能在uint8
图像中指定 180 种单独的色调。但是您可以拟合 255 个不同的值,因此,存在选项COLOR_BGR2HSV_FULL
和COLOR_BGR2HLS_FULL
(以及相反的值)来指定将完整的 255 范围用于色调通道;所以 0 映射到 0,255 映射到 360 度,并且在两者之间呈线性间隔。
所有可用的颜色代码都可以在文档中的ColorConversionCodes下看到。
推荐阅读
- java - 如何使用 Android 应用更改整个手机的字体设置
- javascript - 在Javascript中将数组中的所有数字设为绝对值
- tsql - 如何修复在“BEGIN”附近预期条件的上下文中指定的非布尔类型的表达式。?
- pytorch - 我想在 pytorch 中使用 Conv1D 和 MaxPool1D 将 3-d 张量转换为三维
- cubes - 不同立方体的TM1py上传
- hyperledger-fabric - 在 mini-fabric 中设置资源管理器
- java - 我如何才能将确切的词蚂蚁替换为仅在 Java 中的错误
- scrapy-splash - 如何使用 Scrapy-Splash
- spring-boot - 如何在没有重定向或智能按钮的情况下批准 PayPal 订单 ID
- javascript - GSAP 3 Scroll Trigger on leave动画反转