专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 图形/图像

OpenCV中图像的通道有关问题

发布时间:2011-06-27 20:29:34 文章来源:www.iduyao.cn 采编人员:星星草
OpenCV中图像的通道问题

1.通常我都用cvLoadimage()函数进行读图像,参数选择上建议大家选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR,这样的参数组合读出的图像信息保持了原是图像的信息(包括通道信息和位深信息)。其中像素深度指每个通道用多少位来表示,通道就是指每个像素的颜色数了。而我们一般在图像处理书上看到的图像的像素的bit数,在这里应该是:通道*像素深度。可以看出像素的bit数和像素深度不是同一个概念。

2.同时应该注意的是opencv在读遥感图像上所产生的问题:通常的遥感图像有两种,一种是全色影像,只有1个波段,这种影像通常空间分辨率都很高;另一种是多光谱图像,这种图像通常同时拥有超过3个以上的波段数。而在opencv中cvLoadimage()函数好像只能同时读取三个波段,当读取一景四个波段的遥感影像时(读取参数为CV_LOAD_IMAGE_ANYDEPTH |CV_LOAD_IMAGE_ANYCOLOR),事实上只读取了第一个波段的数据,这一点可以从读得的结果图像IplImage的nChannels和imageSize两个参数看出来,一个参数为1,一个参数的数据大约为整景图像大小的四分之一。而cvLoadimage函数读取参数为1时,此时又读取了四个波段中的前三个波段,大小显示大约为整景图像大小的四分之三。

3.从以上分析来看,通道数和波段书本质上说的是一回事。只是所用的地方不一样而与。nChannel=1表示图像只有一个通道,表示灰度图象;对遥感影像来说就是一副单波段影像,通常也是灰度图像。

4.总得来讲,多波段遥感图像仍然可以用opencv来进行处理分析,虽然他只可以同时读三个波段。因为遥感图像处理中我们通常只对一个波段进行处理,所以我们可以其他的软件进行波段分离后再拿到opencv进行编程处理,当然这不是最好的方法。

5.上面所说的opencv只能读取最多三个波段的影像只限于利用cvLoadimage函数读取影像,其他方法可以实现读取多波段影像不考虑在本范围之内。


友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: