2

画像の一部のピクセルの色相を変更する必要がありますが、設定方法がわかりません。

私はHSVで画像を変換しましたがCV_BGR2HSV、今は行と列でforを使用してサイクリングしています...

各ピクセルの色相にアクセスするにはどうすればよいですか?

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

2 に答える 2

4

画像は既に HSV に変換されているため、画像の 3 つのレイヤーは色相、彩度、明度に対応しています。

  • s.val[0]色合いです。
  • s.val[1]飽和です。
  • s.val[2]値です。

したがって、RGB 画像の場合とまったく同じ方法を使用して、ピクセル値を取得および設定します。

于 2011-04-12T22:23:15.263 に答える
0

はい、openCVは180°、つまりHSVの(0°-179°)シリンダーを使用します。通常はMSペイントで(0°-240°)、理想的には(0°-360°)です。したがって、openCVは(0°-179°)からの色相の結果を提供します。

于 2011-11-10T13:38:01.860 に答える