2016-03-08 120 views
0

我有一個圖像,我想從RGB轉換爲HSV,然後回到RGB。OpenCV - RGB到HSV並回到RGB?

這是我要做的事:

Mat frame1, frame2, frame3; 
cvtColor(frame1, frame2, CV_RGB2HSV); 
cvtColor(frame2, frame3, CV_HSV2BGR); 
namedWindow("origin", CV_WINDOW_AUTOSIZE); 
namedWindow("rgb2hsv", CV_WINDOW_AUTOSIZE); 
namedWindow("hsv2rgb", CV_WINDOW_AUTOSIZE); 
imshow("origin", frame1); 
imshow("rgb2hsv", frame2); 
imshow("hsv2rgb", frame3); 

我認爲我得到正確的結果,當我轉換從RGB到HSV。 但是,當我將轉換後的圖像轉換回RGB時,它給了我一個不正確的結果。

任何想法爲什麼? 謝謝!

回答

3
cvtColor(frame1, frame2, CV_RGB2HSV); 
cvtColor(frame2, frame3, CV_HSV2BGR); 

應爲(注意這是BGR2HSV代替RGB2HSV)

cvtColor(frame1, frame2, CV_BGR2HSV); 
cvtColor(frame2, frame3, CV_HSV2BGR); 
+0

真!這是尷尬的不能相信我沒有注意到..謝謝! – Gambit2007