首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 平面设计 > 图形图像 >

OpenCV中图像的通道有关问题

2012-09-16 
OpenCV中图像的通道问题1.通常我都用cvLoadimage()函数进行读图像,参数选择上建议大家选择CV_LOAD_IMAGE_A

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函数读取影像,其他方法可以实现读取多波段影像不考虑在本范围之内。


热点排行