opencv HSV 顏色模型(H通道取值 && CV_BGR2HSV_FULL)
阿新 • • 發佈:2019-01-22
出處:http://blog.csdn.net/timidsmile/article/details/17297811
之前知道,
利用opencv把RGB圖片像HSV顏色空間轉變的時候,
H通道的值範圍為: 0-180
S: 0-255
V:0-255
利用直方圖顯示三個通道的時候,H通道都集中在前半部分,想讓它取值範圍擴大~~~~~~~
後來發現了 CV_BGR2HSV_FULL ,
CV_BGR2HSV 在轉換影象的時候是將 H / 2 ---> H ,我們知道影象中色相H的取值範圍為 0-360 ,所以利用opencv轉換之後得到的H的範圍為 0-180
而 CV_BGR2HSV_FULL 實現的對映是 H * 255 / 360 --->H , 所以利用_FULL 這個轉換得到的H通道影象的範圍為 0-255
這兩種方式都是opencv把[0-360] 的資料壓縮到一個位元組可以處理的資料。[ 所以這裡說的影象的depth = 8, 剛好能表示的最大值是 255]
上面說的影象的 depth = 8, 如果你的影象 位深不是 8位,比如 32 位, 那麼你就可以得到 [0, 360] 表示的 H通道影象了。
in fact, HSV顏色模型規定的各通道取值範圍為:
H : 0-360 S:0-1 V: 0-1
可以利用 CV_BGR2HSV 得到的 H S V 的 S V /255 轉換得到。
對於同一幅圖片:
採用CV_BGR2HSV得到的 h s v 三個通道的 直方圖分佈如下:
採用CV_BGR2HSV_FULL得到的 h s v 三個通道的 直方圖分佈如下: