如何用opencv设置某些像素的色调值

时间:2011-04-12 21:56:16

标签: opencv hsv

我需要更改图像中某些像素的色调,但我不知道如何设置它们!

我用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

2 个答案:

答案 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°)给出色调结果。