OpenCV отображают преобразование от RGB до HSV

Когда я выполняю этот после кода демонстрационного изображения (RGB) и затем обрабатываю его для отображения преобразованного изображения HSV, Оба, кажется, отличаются...

Кто-либо может объяснить, почему это происходит?
ИЛИ
Можно ли предложить, чтобы решение для этого не произошло..., потому что это - то же изображение, в конце концов,

Mat img_hsv,img_rgb,red_blob,blue_blob;
img_rgb = imread("pic.png",1);
cvtColor(img_rgb,img_hsv,CV_RGB2HSV);
namedWindow("win1", CV_WINDOW_AUTOSIZE);
imshow("win1", img_hsv);
9
задан LihO 9 December 2013 в 17:34
поделиться

1 ответ

  1. Я еще недостаточно хорошо знаком с новым (2.x) OpenCV, но обычно изображения, загруженные в OpenCV, находятся в порядке каналов CV_BGR, а не RGB, поэтому вам, скорее всего, понадобится CV_BGR2HSV.

  2. OpenCV на самом деле «не знает» "HSV, он просто закодирует оттенок в первом канале, насыщенность во втором и значение в третьем. Если вы отображаете изображение в OpenCV, highgui предполагает, что это изображение BGR, таким образом интерпретируя первый канал (теперь Hue) как синий и т. Д.

27
ответ дан 4 December 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: