在Opencv的结构Iplimage中,widthStep并不一定等于width*nChannel*(数据类型所占字节),这是因为Opencv中对内存有管理的机制,这一机制会对内存进行对齐,也就是当每一行所占的字节数不等于4的倍数时会自动补齐。
例如:width=117,depth=8U,nChannel=1,则widthStep=120,因为117不是4的倍数,所以补齐到120。
如果depth是32S,32F,64S之类的就可以不用考虑了,因为每个数据本身都是4的倍数字节。
理解OpenCV中Iplimage结构中的widthStep与内存对齐
本文详细解释了在OpenCV的Iplimage结构中,widthStep并非总是width*nChannel*(数据类型所占字节)的原因,涉及内存对齐机制的理解。
在Opencv的结构Iplimage中,widthStep并不一定等于width*nChannel*(数据类型所占字节),这是因为Opencv中对内存有管理的机制,这一机制会对内存进行对齐,也就是当每一行所占的字节数不等于4的倍数时会自动补齐。
例如:width=117,depth=8U,nChannel=1,则widthStep=120,因为117不是4的倍数,所以补齐到120。
如果depth是32S,32F,64S之类的就可以不用考虑了,因为每个数据本身都是4的倍数字节。

被折叠的 条评论
为什么被折叠?