Opencv: преобразование изображения оттенка в изображение RGB - PullRequest
2 голосов
/ 11 июня 2010

Я пытаюсь показать оттенок компонента изображения с моей веб-камеры. Я разделил изображение на компонент оттенка, но я не могу понять, как показать компонент оттенка в чистых цветах. Например, если один пиксель изображения был B = 189 G = 60 R = 60, то в HSV H = 0. Я не хочу, чтобы рисованное изображение было серыми значениями оттенка, но RGB-эквивалент оттенка или H = 0 -> B = 0 G = 0 R = 255

IplImage *image, *imageHSV, *imageHue;
image = cvQueryFrame(capture); //image from webcam
imageHSV = cvCreateImage( cvGetSize(image), IPL_DEPTH_8U, 3 );
imageHue = cvCreateImage( cvGetSize(image), IPL_DEPTH_8U, 1 );
cvCvtColor( image, imageHSV, CV_BGR2HSV );
cvSplit( imageHSV, imageHue, 0, 0, 0 );

Мне кажется, что есть простое решение, поэтому любая помощь приветствуется.

1 Ответ

3 голосов
/ 11 июня 2010

Если я вас правильно понимаю, вы хотите «правильно» визуализировать только компонент Hue.Вы можете создать еще один imageSat и imageVal, по одному каналу каждый и заполненный 255 (максимум).Затем cvMerge ваш imageHue с двумя другими, чтобы создать новый образ HSV и преобразовать его обратно в RGB / BGR для окончательного отображения.

...