在寫程序的過程中,遇到了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