我需要更改图像中某些像素的色调,但我不知道如何设置它们!
我用CV_BGR2HSV
转换了HSV中的图像,现在我正在用行和列表循环...
如何访问每个像素的色调?
用于设置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
答案 0 :(得分:4)
您已将图像转换为HSV,因此图像的3层现在对应于色调,饱和度和值:
s.val[0]
是色调。s.val[1]
是饱和度。s.val[2]
是值。因此,请继续使用与RGB图像完全相同的方法来获取和设置像素值。
答案 1 :(得分:0)
是, openCV 使用180°,即HSV的(0°-179°)圆柱体;通常在MS涂料中为(0°-240°),理想情况下(0°-360°)。因此,openCV从(0°-179°)给出色调结果。