问题背景
今天在做图像分块的时候,为了验证代码的正确性,我用matlab读取了一张图片,并把opencv的分块结果与这张图片的像素点做对比,但是,我发现两者的差异有点大,具体的现象如下图:
图1.cv分块代码结果图
从图1可以看出。程序是从(0,0),(0,8)两个点作为图像块的左上顶点,把图像分为8x8的块,但是,在对比图2的数据后,发现图2的分块是以列为方向开始的。一开始,我以后是程序出错了,就不断debug找错误,找来找去也没发现什么错,最后,仅有一点可能,
那就是opencv 与matlab读取图像后,储存数据的方式不一样。
简单验证
当我把图像做一次简单的转置,再进行分块时,结果如下图: