opencv中什么函数可以显示hsv图?

我用的是opencv1.0 ,cvLoadImage是按照RGB通道来显示图像的。有没有哪位高手知道什么函数可以按照hsv通道显示图像?谢谢~~

OpenCV中有一个色彩空间转换函数名为cvCvtColor,可以将输入图像从一个色彩空间转换为另外一个色彩空间。调用这个函数,设置参数CV_BGR2HSV或CV_RGB2HSV即可实现RGB转HSV。更详细的使用方法可以参照相关文档。搜索一下这个函数即可。追问

你好,感谢你的热心帮助。
我用cvCvtColor函数调整原图像的hsv三个通道之后,想看图片调整之后的结果。
但是cvShowImage貌似是将图像的hsv三个通道值按照bgr的方式处理并输出图像的......
(比如我只修改原图的所有v通道均为200,效果应该是原图像很亮,但是输出的结果却是图像发黄绿)
如果我想看到预想的那幅很亮的图像,我应该用什么函数?
谢谢您的耐心回答~

追答

你好。
看你描述的意思是,你的原图像就是以HSV空间储存的是吗?如果是这样,显示的时候先用cvCvtColor函数将图像从HSV空间转换到RGB空间,再调用cvShowImage显示,就是正常的了,这时设置转换参数为CV_HSV2BGR或者CV_HSV2RGB。
我的理解是,cvCvtColor函数只是改变了图像色彩储存的方式,显示的时候cvShowImage还是按着RGB来的。所以要显示出对HSV通道的修改效果,还是要将其转换为RGB格式显示才能看出来。
不知这能否解决你的问题。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-02-15
我看了你的追问,看出来你是一个很用心的好学生。
给你点建议。
你可以先把rgb图像转化为hsv,然后把图像的v通道+100(增亮)
然后再把hsv图像转化为rgb格式。

其实吧,这个v的值也有很多计算方式,有一种就是直接把rgb三个通道求平均。
所以,如果你只是想让图像更亮一些,不妨直接把rgb的值增加即可。
第2个回答  2013-02-13
用cvCvtColor函数转换到hsv
相似回答