2011-04-12 71 views
2

我需要改變我的圖像的一些像素的色調,但我不知道如何設置它們!如何設置一些像素的色相值與opencv

我轉換在HSV圖像與CV_BGR2HSV,現在我有一個騎自行車供行列數...

我怎麼能訪問每個像素的顏色?

設置RGB我使用這個代碼...

CvScalar s; 
s=cvGet2D(imgRGB,i,j); // get the (i,j) pixel value 
printf("B=%f, G=%f, R=%f\n",s.val[0],s.val[1],s.val[2]); 
s.val[0]=240; 
s.val[1]=100; 
s.val[2]=100; 
cvSet2D(imgRGB,i,j,s); // set the (i,j) pixel value 

回答

4

您已經轉換的圖像HSV,因此圖像的3層,現在對應色調,飽和度和值:

  • s.val[0]是色調。
  • s.val[1]是飽和度。
  • s.val[2]是值。

因此,請繼續使用與您的RGB圖像完全相同的方法來獲取和設置像素值。

+0

是的,謝謝你..問題是CV_BGR2HSV,不轉換爲真正的hsv格式,因爲它只使用179°..所以我正在過期一些奇怪的結果,當我改變色調,我認爲我做了一些事情錯誤 – Janky 2011-04-19 09:37:14

0

是,openCV使用180°,即(0°-179°)HSV柱體;通常在MS油漆中(0°-240°),理想情況下(0°-360°)。所以,openCV會給你從(0°-179°)的色調結果。

相關問題