openCV中的二进制图像的宽度和宽度不同

Vin*_*wal 3 opencv

我使用cvLoadImage在OpenCV中加载二进制图像,如下所示:

IplImage* myImg=cvLoadImage(<ImagePath> ,-1); //-1 so that it is read as it is.
Run Code Online (Sandbox Code Playgroud)

当我检查myImg-> widthmyImg-> widthStep时,我惊讶地发现它们的值都略有不同.然后我回过头来查看数据集中的其他图像,发现在大多数情况下,这两个值是相等的,但是对于一些相当大的图像,这两个图像的差异主要是1或2.

我虽然只有当通道数大于1时才对彩色图像,这两个值是不同的,否则它们是相同的.我错了吗?以前有人注意到这种奇怪的行为吗?

谢谢!

Pau*_*l R 6

显然,如果宽度不是4的倍数,则出于性能和对齐的原因,它会被填充到4的倍数.因此,如果width是例如255,那么widthStep将是256.