HSV介绍三:关于 HSV 各通道在 OpenCV 中取值范围的确定(汇总)

看了很多关于 HSV 介绍的帖子,从它锥形的钻换模型中可以理解到: hue 通道的取值范围就应该是 0-360。但是在看各网友的帖子中看到了各种关于 hue 通道不同取值范围的应用。并且也没有一个说出来在 OpenCV 中 HSV 的各通道取值范围是多少,到底为什么。

为此我专门去看了下 OpenCV 的官方文档,于是在关于 calcHist 的函数介绍中看到了这个


这个意思是说 hue 的取值范围是 0-180,但是它定义的转换模型中是说 0-360 的,为什么减半了呢,于是我又找到了cvtColor 的 OpenCV 文档函数说明:


OpenCV 的文档中是这样解释的:原本输出的 HSV 的取值范围分别是 0-360, 0-1, 0-1;但是为了匹配目标数据类型 OpenCV 将每个通道的取值范围都做了修改,于是就变成了 0-180, 0-255, 0-255,并且同时解释道:为了适应 8bit 0-255 的取值范围,将 hue 通道 0-360 的取值范围做了减半处理,这就是为什么 OpenCV 中 hue 通道的取值范围是0-180;

  • 14
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
OpenCVHSV颜色空间的取值范围是**色调H:0-180,饱和度S:0-255,亮度V:0-255**。在计算机视觉和图像处理领域,HSV颜色模型是一种常用的色彩表示方法,它由色相、饱和度和明度个分量组成。OpenCV是一个广泛使用于图像处理领域的开源计算机视觉库,它提供了丰富的函数和方法来处理和分析图像数据。 在HSV颜色模型,色相(Hue)通常用角度来度量,标准的范围是0°~360°,但在OpenCV,由于使用8位无符号整数来存储图像数据,色相的范围被压缩到了0-180。这种压缩是通过将原始的色相值除以2来实现的,即H = h * 2 / 255,其h是OpenCV数字化的值。 饱和度(Saturation)和亮度(Value)的标准范围分别是0.0~1.0和0.0(黑色)~1.0(白色)。在OpenCV,这两个通道的值被扩展到了0-255的范围,以便与8位图像数据的存储方式相匹配。因此,在OpenCV,饱和度的取值范围是0-255,亮度的取值范围也是0-255。 当使用OpenCV进行RGB到HSV的颜色空间转换时,需要注意转换后的HSV范围。如果需要与其他使用标准HSV范围的应用或库进行交互,可能需要对OpenCV转换后的HSV值进行适当的缩放或转换。例如,可以通过将色相值乘以2来恢复到0-360的范围,将饱和度和亮度值除以255并乘以100来转换为0-100的范围。 总之,在使用OpenCV处理图像时,了解并正确处理HSV颜色空间的取值范围是非常重要的,这有助于确保图像处理和分析的准确性和有效性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值