我需要改变我的图像的一些像素的色调,但我不知道如何设置它们!
我用CV_BGR2HSV
转换了HSV中的图像,现在我用行和颜色循环…
如何访问每个像素的色调?
设置RGB,我使用这个代码…
CvScalar s;
s=cvGet2D(imgRGB,i,j); // get the (i,j) pixel value
printf("B=%f, G=%f, R=%fn",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
你已经将你的图像转换为HSV,所以图像的3层现在对应于色相,饱和度和值:
-
s.val[0]
为色相 -
s.val[1]
为饱和度 -
s.val[2]
为值。
所以继续使用与你的RGB图像完全相同的方法来获取和设置像素值
是的,openCV使用HSV的180°即(0°-179°)圆柱体;而在MS油漆中通常为(0°-240°),理想情况下为(0°-360°)。因此,openCV给出了从(0°-179°)的色相的结果。