在写程序的过程中,遇到了RGB 转HSV时,print出的hsv的范围很奇怪,经过查找资料,得知:
opencv中hsv的范围如下:
H: [0,180]
S:[0,255]
V:[0,255]
在做hsv各通道颜色的计算时,常用的hsv范围如下:
H:[0,360]
S:[0,100]
V:[0,100]
就需要对转换后的hsv各通道数据做如下处理:
h= h*2;
s = (float)s/255*100;
v = (float)v/255*100;
另外:
CV_BGR2HSV 在转换图像的时候是将 H / 2 ---> H ,我们知道图像中色相H的取值范围为 0-360 ,所以利用opencv转换之后得到的H的范围为 0-180;而CV_BGR2HSV_FULL 实现的映射是 H * 255 / 360 --->H , 所以利用_FULL 这个转换得到的H通道图像的范围为 0-255。
摘自:http://blog.sciencenet.cn/blog-261330-782061.html
本文详细解释了在使用OpenCV进行RGB到HSV颜色空间转换时遇到的问题,包括不同HSV范围的差异及其处理方法,并对比了CV_BGR2HSV与CV_BGR2HSV_FULL两种转换方式的特点。
5324

被折叠的 条评论
为什么被折叠?



