opencv里遇到的小问题:强制单通道加载图片
发布网友
发布时间:2022-05-21 02:26
我来回答
共1个回答
热心网友
时间:2023-10-12 00:25
IplImage *img=cvLoadImage("C:\\Users\\wujian\\Desktop\\222.jpg",CV_LOAD_IMAGE_GRAYSCALE );
读取到的图像是灰度,这个原因太一目了然了,原因就是你用到的这个函数参数:CV_LOAD_IMAGE_GRAYSCALE
这是个宏定义,在opencv里这个参数等于0;
如果把这个参数设置为1或者不写参数(会默认为1),自然结果就是彩色图了。
1.如何理解这个函数,你要首先知道什么是灰度化,而灰度化有很多种方式,比如提取三个通道中的最大值,或者求RGB均值或者Gray= 0.299*R+0.587*G+0.114*B,等等。
2.而如何把单通道的图像再次转换为彩色,呵呵,这个问题好像是如何把烤鸭变成活的鸭子。
因为你灰度化之后彩色信息就已经丢失了,是不可能再转换为彩色的了。
但是由于人眼对彩色图像比灰度信息要更加敏感,所以就有了伪彩色的概念。不过我估计你现在还用不上这块知识。
建议你去自己学习的知识点(维基百科或者百度搜索):1, RGB颜色模型,2, HSV颜色模型,3, 图像灰度化。来自:求助得到的回答