如何使用opencv设置某些像素的色调值
我需要更改图像中某些像素的色调,但我不知道如何设置它们 我用如何使用opencv设置某些像素的色调值,opencv,hsv,Opencv,Hsv,我需要更改图像中某些像素的色调,但我不知道如何设置它们 我用CV\u BGR2HSV转换了HSV中的图像,现在我用for by rows和cols循环 如何访问每个像素的色调 对于设置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
CV\u BGR2HSV
转换了HSV中的图像,现在我用for by rows和cols循环
如何访问每个像素的色调
对于设置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
您已经将图像转换为HSV,因此图像的3层现在对应于色调、饱和度和值:
是色调s.val[0]
是饱和度s.val[1]
是该值s.val[2]
因此,继续使用与RGB图像完全相同的方法来获取和设置像素值。是的,openCV使用180°即(0°-179°)HSV圆柱体;而在MS油漆中通常为(0°-240°),理想情况下为(0°-360°)。因此,openCV将为您提供(0°-179°)色调的结果。是的,谢谢。。问题是CV_BGR2HSV无法转换为真正的hsv格式,因为它只使用179°。。所以,当我改变色调时,我感到有些奇怪的结果,我觉得我做错了什么