2014-01-09 93 views
0

我在opencv中有一個hsv ma​​t文件,我想分開這些頻道。我發現cvSplit(hsv,h,s,v,NULL),但它不適用於Mat文件。那麼如何保持Mat圖像文件的第一個通道h? 我的結果如上。基本上是我轉換的圖像,我可以看到臉,但以奇怪的色調。opencv中單獨的hsv頻道

h channel

使用的代碼:

cvtColor(cropped_rgb, cropped_hsv, CV_BGR2HSV); 
    split(cropped_hsv, channels); 
    cropped_hsv = channels[0]; 
    imshow("cropped_hsv", cropped_hsv); 

回答

10

可以簡單地使用split

Mat hsv; 
vector<Mat> channels; 
split(hsv, channels); 

通道[0],頻道[1],頻道[2]將包含H,S,V。

+0

imshow(「h channel」,channels [0]);我得到的結果是一個奇怪的形象。是否由於轉換? –

+0

確定基本上我認爲價值通道更接近gray_scale圖像,這實際上是我想要的。 –

+0

這裏是不同的顏色模型和他們的渠道:http://blog.patdavid.net/2012/12/getting-around-in-gimp-black-and-white30.html – Micka