opencv widthstep 理解

opencv widthstep 理解widthstep是指图像每行所占的字节数,主要要和width区别,width是指每行所含的像素个数,但是一个像素也可能占一个字节,也可能占三个字节或者四个,多个等.imagedata是指向存储图像像素值数组的指针,内容是这个数组的首地址,pt.y指的是像素点的行坐标,所以Img->imageData+Img->widthStep*pt.y便是该像素点所在行的首地址,然后再加上该像

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

widthstep是指图像每行所占的字节数,

定义:

image->widthStep = (((image->width * image->nChannels *(image->depth & ~IPL_DEPTH_SIGN) + 7)/8)+ align – 1) & (~(align – 1)); 

图像宽度    图像通道数    计算得到的widthStep

        3           12

       1           4

       3           16

        1           8

       3           24

       1           8

       3           12

       1           4

主要要和width区别,width是指每行所含的像素个数,但是一个像素也可能占一个字节,也可能占三个字节或者四个,多个等

.imagedata是指向存储图像像素值数组的指针,内容是这个数组的首地址,pt.y指的是像素点的行坐标,所以Img->imageData + Img->widthStep*pt.y便是该像素点所在行的首地址,然后再加上该像素点所在的列,即pt.x,就得到了该像素点的地址,所以代码也可以写成

((uchar*)(Img->imageData + Img->widthStep*pt.y+pt.x)),都是指该像素点的像素值,至于强制类型转换,是因为会产生一些负值,而像素值是不能为负的.

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

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

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


相关推荐

  • javascript原生态ajax_ajax22

    javascript原生态ajax_ajax22(对低版本的ie不作兼容处理了,太过时,不知道谁还用) 本次演示采用原生javascript+php实现ajax的 post 和 get功能; 对php不了解的同学不用担心,就两三行代码,而且我会详细说明; 好了,下面开始: 第一步:如果想要运行起来,那么还是需要开启服务器的,这里推荐使用wampserver,        下载相应的

    2022年8月16日
    2
  • clion激活码 2021【在线注册码/序列号/破解码】

    clion激活码 2021【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    59
  • Android程序员接私活完整攻略「建议收藏」

    Android程序员接私活完整攻略「建议收藏」接私活对程序员这个圈子来说是一个既公开又隐私的话题,不说全部,应该大多数程序员都有过想要接私活的想法,当然,也有部分得道成仙的不主张接私活。但是很少有人在公开场合讨论私活的问题,似乎都在避嫌。就跟有人下班后跑滴滴一样,程序员私有时间接点活挣点钱不也很正常么,不过不要在上班时间就行,就跟你上班期间出去跑滴滴一样。当你竭尽全力想要去接私活的时候一定做过这样的事,百度搜索“程序员如何接私活”或者…

    2022年6月14日
    157
  • 手机扫码登陆原理(扫码充电线原理)

    问题描述 qq,淘宝等应用在pc端app或网页版都有扫码登陆功能(下述统称为网页端)。用户无需输入用户名和密码,通过在手机端app登陆后,扫网页中的二维码即可直接登陆。 原理分析:网页端+服务器 用户在浏览器点击“二维码登陆”向服务器发送扫码登陆请求,服务器收到请求后,随机生成一个uuid(通用唯一标识符:universallyuniqueidentifier),将这个i…

    2022年4月18日
    69
  • 详解布隆过滤器原理,及分布式运用方法_布隆过滤器最小误差

    详解布隆过滤器原理,及分布式运用方法_布隆过滤器最小误差1.什么是布隆过滤器布隆过滤器是一个叫“布隆”的人提出的,本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilisticdatastructure)。它本身是一个很长的二进制向量,特点是高效地插入和查询,可以用来确定“某一条数据一定不存在或者可能存在一个集合中”。相比于传统的List、Set、Map等数据结构,它更高效、占用空间更少(因为是个二进制的向量),但是缺点是其返回的结果是概率性的,而不是确切的。2.布隆过滤器数据结构布隆过滤器是一个bit向量或者

    2022年10月6日
    1
  • android读取短信_android发短信代码

    android读取短信_android发短信代码在Tasker中利用短信的通知实现短信内容转发到微信之前的教程是利用Tasker自带的短信变量来实现的,这有一个无法解决问题:在360,魅族,坚果等品牌的手机中无法获取短信的消息内容。利用短信的通知则可以获取短信的内容,并且对于华为手机来说也可以不用关闭短信验证码保护功能,所以相较于原来的方法更简单,方便。应用通知的变量是一个本地数组变量%evtprm(),这个变量数组包含%evtprm…

    2022年10月13日
    0

发表回复

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

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