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的倍数)

OpenCV中的width与widthStep相关推荐

  1. OpenCV中的width和widthstep

    一是width属性:二是widthStep属性. 前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数. 在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运 ...

  2. 谈谈我对opencv中IplImage图像参数widthstep的理解

    最近在弄vs与MATLAB混合编程实现图像识别的东西,刚接触到opencv还生疏的很,遇到了各种各样奇葩的问题,其中不管怎样释放内存都不会少的内存泄露实在是让我很头疼,现在开始一点点的弄每个图像的参数 ...

  3. OpenCV里IplImage数据结构中的width和widthStep

    转自http://nst1987.blog.163.com/blog/static/14950891120101120114029646/ IplImage有两个属性容易导致错误:width和widt ...

  4. opencv 中x,y,height, width,rows,cols 的关系

    opencv中图像的x,y 坐标以及 height, width,rows,cols 他们的关系经常混淆. rows 其实就是行,一行一行也就是y 啦.height高度也就是y啦. cols  也就是 ...

  5. opencv中图像的基本结构 类型的定义

    CvPoint 二维坐标系下的点,类型为整型 typedef struct CvPoint{int x; /* X坐标, 通常以0为基点 */int y; /* y坐标, 通常以0为基点 */} Cv ...

  6. OpenCV中IplImage/CvMat/Mat转化关系

    原文链接:http://www.cnblogs.com/summerRQ/articles/2406109.html 如对内容和版权有何疑问,请拜访原作者或者通知本人. opencv中常见的与图像操作 ...

  7. OpenCV中的三种图像数据结构CvMat, IplImage和Mat(二)IplImage

    本文为原创,若有错误欢迎批评指正! 一. IplImage结构体构成 IplImage比CvMat要复杂一些,结构体组成如下: typedef struct _IplImage { int nSize ...

  8. OpenCV中的光流及视频特征点追踪

    OpenCV中的光流及视频特征点追踪 1. 效果图 2. 原理 2.1 什么是光流?光流追踪的前提.原理 2.2 光流的应用 2.3 光流的2种方法 3. 源码 3.2 稀疏光流追踪 3.2 优化版稀 ...

  9. OpenCV中的霍夫线变换、概率霍夫线变换

    OpenCV中的霍夫线变换.概率霍夫线变换 1. 效果图 2. 原理 2.1 什么是霍夫变换? 2.2 什么是概率霍夫变换? 3. 源码 3.1 霍夫变换 3.2 概率霍夫变换 参考 这篇博客将介绍P ...

  10. 详解OpenCV中的Lucas Kanade稀疏光流单应追踪器

    详解OpenCV中的Lucas Kanade稀疏光流单应追踪器 1. 效果图 2. 源码 参考 这篇博客将详细介绍OpenCV中的Lucas Kanade稀疏光流单应追踪器. 光流是由物体或相机的运动 ...

最新文章

  1. 初学 C 语言没有项目练手?这 20 个小项目拿走不谢~
  2. Scrapy复习总结
  3. 数独题的生成与解决方法
  4. 失意时,你是怎么救自己的?
  5. [译]Object的局限性——Kotlin中的带参单例模式
  6. mysql 备份恢复 asp_ASP中怎么实现SQL数据库备份、恢复!
  7. lattice绘图工具
  8. 小学老师计算机高级培训感言,教师培训感言一句话
  9. 牛逼!这个网站可以帮助程序员命名变量和函数!
  10. java程序员一般用什么笔记本_购买适合程序员编程开发用的笔记本电脑的几点建议...
  11. Excel如何实现两个工作表数据的对比,比较两个Excel表,两个表格对比 的绿色工具
  12. android studio高德地图的显示于定位(附带逆地理编码围栏)
  13. 2017美团北京java后台开发
  14. 实战篇ConstraintLayout的崛起之路
  15. 2020科目一考试口诀_2021年驾驶证科目一考试技巧与口诀
  16. 通过RK3568实现的NVR方案
  17. 2022第六季完美童模 合肥赛区 决赛圆满落幕
  18. 计算机网络里什么叫专线,什么是专线 专线宽带和家庭宽带有什么区别?
  19. 英语六级翻译(唐宋明)
  20. 人工智能将使今天不可能做到的事情成为可能?

热门文章

  1. Pycharm下了汉化包之后切换回英文界面
  2. 定制自己的ubuntu 镜像文件 (remastersys, respin, USB live CD)
  3. 标题采集软件-免费标题生成器
  4. windows下Mysql 5.7 绿色版安装与卸载教程,MySQL可视化管理
  5. c++图书馆管理系统
  6. 大小端详解(判断+转换)
  7. IEEE Access 期刊投稿
  8. linux 不识别ar9380,用Linux做wifi熱點/無線路由
  9. 确定性钱包的多账户层次结构(bitcoinj使用BIP44)
  10. 【转载】Pandas速查手册中文版