OpenCV中的width与widthStep
Opencv width widthStep
2023-06-13 09:11:52 时间
大家好,又见面了,我是你们的朋友全栈君。
1.在opencv中width表示的是图像的每行像素数,widthstep表示的是存储一行像素需要的字节数,位了快速读取数据,在opencv中一般使widthStep为4的倍数,从而实现字节的对齐,有利于提高运算速度。
2.函数的原型为
image->widthStep = (((image->width * image->nChannels *(image->depth & ~IPL_DEPTH_SIGN) + 7)/8)+ align - 1) & (~(align - 1));
IplImage *image_33 = cvCreateImage(cvSize(3, 3), 8, 3);
IplImage *image_31 = cvCreateImage(cvSize(3, 3), 8, 1);
IplImage *image_53 = cvCreateImage(cvSize(5, 3), 8, 3);
IplImage *image_51= cvCreateImage(cvSize(5, 3), 8, 1);
IplImage *image_73 = cvCreateImage(cvSize(7, 3), 8, 3);
IplImage *image_71 = cvCreateImage(cvSize(7, 3), 8, 1);
printf("%d, %d, %d, %d, %d, %d", image_33->widthStep,image_31->widthStep,
image_53->widthStep,image_51->widthStep,image_73->widthStep,image_71->widthStep);
运行结果为:12, 4, 16, 8, 24, 8, 与手动计算结果相同。
上图时opencv读取图片数据的mat形式存储格式
所以widthstep=width*channel(必须为4的倍数)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/138964.html原文链接:https://javaforall.cn
相关文章
- ubuntu 18.04 安装 opencv(踩了很多雷终于整合成一个完整的成功版本)[通俗易懂]
- USB 摄像头 进行python OpenCV 操作的基础设置【以yolo 目标检测为例】
- 英特尔OpenCV初级认证课程上线,免费报名中
- OpenCV系列学习之(六)
- java 添加盲水印_OpenCV-图像处理-频域手段添加盲水印
- [Python图像处理] 十四.基于OpenCV和像素处理的图像灰度化处理
- pycharm安装opencv-python_pycharm下载库
- openCV._imread opencv
- OpenCV的扩展包opencv_contrib的安装
- Python OpenCV findContours()函数与drawContours()函数用法
- Android OpenCV 4.6.0 颜色追踪
- OpenCV这么简单为啥不学——1.2、图片截取(数组截取)
- 利用 OpenCV+ConvNets 检测几何图形
- 25 行 Python 代码实现人脸检测——OpenCV 技术教程