图像处理中Stride的理解

一行有 11 个像素(Width = 11), 对一个 32 位(每个像素 4 字节)的图像, Stride = 11 * 4 = 44.

但还有个字节对齐的问题, 譬如:

    一行有 11 个像素(Width = 11), 对一个 24 位(每个像素 3 字节)的图像, Stride = 11 * 3 + 3 = 36.

    为什么不是 Stride = 33? 因为它是按 4 字节对齐的.


根据上面道理, 我们可以手动计算 Stride 的值:

1、Stride = 每像素占用的字节数(也就是像素位数/8) * Width;

2、如果 Stride 不是 4 的倍数, 那么 Stride = Stride + (4 - Stride% 4);


----------------------------------------------------------------------------------------

 int  iStride;

 if (iStride % 4) //如果iStride不是4的倍数

{

    iStride += 4 - (iStride % 4); //iStride 进行4对齐
}

猜你喜欢

转载自blog.csdn.net/woxiangzi/article/details/56509562
今日推荐