现对一副名字为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)
figure1
figure2
接下来,我们换成一张彩色图:flower.bmp(figure3)再来看看,是否两个程序读取的还是一样的:
figure3
下面(figure4)就是读取g通道的结果:显然读取值不他一样
figure4
接下来再做一步试验:把flower.bmp分别用Opencv的cvCvtColor(pOldImg1,dst,CV_BGR2GRAY)和Matlab的igray = rgb2gray(img)函数将图片转换为灰度,看看会不会有什么偏差。事实证明(figure5),转化为灰度图之后,两张图片的数据又变的一样了。
figure5
![rice[3] rice[3]](http://images0.cnblogs.com/blog/500039/201305/19135017-55b774f934a44e639e02809636e82e06.png)
![Image[4] Image[4]](http://images0.cnblogs.com/blog/500039/201305/19135022-ede92de67cf94737896db2ae1de52a8b.png)
![flower[3] flower[3]](http://images0.cnblogs.com/blog/500039/201305/19135038-6caf39f15c854cef84828dd9a53607b2.png)
![Image(1)[4] Image(1)[4]](http://images0.cnblogs.com/blog/500039/201305/19135050-b99eba0dc6544438b00f0fa41195ffbf.png)
