OpenCV中的width和widthstep[通俗易懂]

OpenCV中的width和widthstep[通俗易懂]一是width属性;二是widthStep属性。     前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数。     在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运算速度。     如果8U单通道图像宽度为3,那么widthStep是4,加一个字节补齐。这个图像的一行需要4个字节,只使用前3个,最后一个空着。

大家好,又见面了,我是你们的朋友全栈君。

  一是width属性;二是widthStep属性。

  前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数。

  在OpenCV里边,widthStep必须是4的倍数,从而实现字节对齐,有利于提高运算速度。

  如果8U单通道图像宽度为3,那么widthStep是4,加一个字节补齐。这个图像的一行需要4个字节,只使用前3个,最后一个空着。

也就是一个宽3高3的图像的imageData数据大小为4*3=12字节。

  需要注意的是,空着的那个像素并不是无效的,它仍然可以被操作,这就是导致错误的根源。

  其实原因就在于,在cvCreateImage的时候,OpenCV为实现字节对齐,使得每行数据实际有16个字节(多出一个),在使用memcpy的过程中,这些多出的字节就把对应的数据给“吃”了,因为这些数据在cvShowImage的时候并不会显示出来,这样,第二行就少一个字节,第三行少两个字节,……,所以整个图像就显示错误了!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132058.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cocos2d-x lua游戏开发之安装Lua到mac系统

    Cocos2d-x lua游戏开发之安装Lua到mac系统

    2022年1月27日
    43
  • 【病毒取样】取证分析之逆向服务器提权开启3389远程连接工具[通俗易懂]

    【病毒取样】取证分析之逆向服务器提权开启3389远程连接工具[通俗易懂]通常用作黑客攻击网站拿到服务器Webshell提升站点服务器权限后,对站点和数据库服务器两台服务器分离的情况,延申权限到数据库服务器。开启数据库服务器的3389远程连接。1、程序信息MD5值:58946C2FE49563591EBE0D61F457DE0A大小:178KB(182,526字节)病毒家族名:Virus.Win32.Parite.a分析黑客小工具是怎么实现的,…

    2022年7月25日
    5
  • PyCharm怎么汉化(iphone语言设置成中文)

    搜索不到可升级一下版本插件官方地址:https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack—-/versionsIEDA汉化PyCharm汉化WebStorm汉化通用

    2022年4月10日
    51
  • 华为服务器装系统怎么选pxe,服务器设置pxe启动

    华为服务器装系统怎么选pxe,服务器设置pxe启动服务器设置pxe启动内容精选换一换全量复制会把源端服务器所有数据都复制到目的端,复制速度取决源端服务器出网带宽和目的端服务器入网带宽(两者取较小者)。开始服务器复制后,禁止重启源端及Agent,否则会导致迁移失败。已设置目的端,参考设置迁移目的端。当“迁移阶段”为时才可启动全量复制。或勾选待迁移的服务器,单击服务器名称/ID上方的“开始”,弹出“开始”窗口,单击“确定”,本节介绍在设置目的端时,…

    2022年6月16日
    29
  • BroadcastReceive基础知识总结「建议收藏」

    BroadcastReceive基础知识总结「建议收藏」1、普通广播2、有序广播3、粘性广播4、电量、开机广播

    2022年6月20日
    29
  • mybatis拦截器详解_短信拦截器

    mybatis拦截器详解_短信拦截器Mybatis拦截器介绍目录前言Interceptor接口注册拦截器Mybatis可拦截方法利用拦截器进行分页  拦截器的一个作用就是我们可以拦截某些方法的调用,我们可以选择在这些被拦截的方法执行前后加上某些逻辑,也可以在执行这些被拦截的方法时执行自己的逻辑而不再执行被拦截的方法。Mybatis拦截器设计的一个初衷就是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis…

    2022年9月9日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号