OpenCv和matlab对图像的读取

现对一副名字为rice.bmp(figure1)(灰度图)的图像做实验,如图可知

1:matlab是从1开始读取行、列,Opencv是从0开始读取。Console中显示的第五行,是由        

               printf("%d行,%d列:value:%d\n",i+1,j+1, ptr[j+0]);

这个语句处理过的,显示为“第五行”,实则i equals 4

2:matlab和Opencv对灰度图的读取,值是一样的(figure2)

rice[3]

figure1

Image[4]

figure2

接下来,我们换成一张彩色图:flower.bmp(figure3)再来看看,是否两个程序读取的还是一样的:

flower[3]

figure3

下面(figure4)就是读取g通道的结果:显然读取值不他一样

Image(1)[4]

figure4

接下来再做一步试验:把flower.bmp分别用Opencv的cvCvtColor(pOldImg1,dst,CV_BGR2GRAY)和Matlab的igray = rgb2gray(img)函数将图片转换为灰度,看看会不会有什么偏差。事实证明(figure5),转化为灰度图之后,两张图片的数据又变的一样了。

image

figure5

posted @ 2013-05-19 13:51  OleNet  阅读(819)  评论(0编辑  收藏  举报