Как установить значение оттенка некоторого пикселя с OpenCV - PullRequest
2 голосов
/ 13 апреля 2011

Мне нужно изменить оттенок некоторых пикселей моего изображения, но я не знаю, как их настроить!

Я преобразовал изображение в HSV с CV_BGR2HSV, и теперь я езжу на велосипеде по строкам и столбцам ...

как я могу получить доступ к оттенку каждого пикселя?

для настройки 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 ]

4 голосов
/ 13 апреля 2011

Вы уже преобразовали свое изображение в HSV, поэтому 3 слоя изображения теперь соответствуют оттенку, насыщенности и значению:

  • s.val[0] - это оттенок.
  • s.val[1] - это насыщенность.
  • s.val[2] - это значение.

Итак, используйте тот же метод, что и для изображений RGB, чтобы получить и установить значения пикселей.

0 голосов
/ 10 ноября 2011

Да, openCV использует 180 °, то есть (0 ° -179 °) цилиндр HSV; в то время как обычно его (0 ° -240 °) в краске MS и в идеале (0 ° -360 °). Итак, openCV дает вам результат оттенка от (0 ° -179 °).

...