Opencv:将色调图像转换为RGB图像

时间:2010-06-11 02:57:35

标签: colors opencv rgb

我正在尝试从我的网络摄像头显示图像的色调组件。我已将图像拆分为色调组件,但我无法弄清楚如何将色调组件显示为纯色。例如,如果图像的一个像素是B = 189G = 60R = 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 个答案:

答案 0 :(得分:3)

如果我理解正确,您希望“正确”可视化Hue组件。您可以创建另一个imageSatimageVal,每个一个频道,并填充255(最大)。然后cvMerge imageHue与其他两个{{1}}一起创建一个新的HSV图像,并将其转换回RGB / BGR进行最终显示。