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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 40个Java集合类面试题和答案

    40个Java集合类面试题和答案1.Java集合框架是什么?说出一些集合框架的优点?每种编程语言中都有集合,最初的Java版本包含几种集合类:Vector、Stack、HashTable和Array。随着集合的广泛使用,Java1.2提出了囊括所有集合接口、实现和算法的集合框架。在保证线程安全的情况下使用泛型和并发集合类,Java已经经历了很久。它还包括在Java并发包中,阻塞接口以及它们的实现。集合框架的部分优点如下:(1…

    2022年7月8日
    18
  • Laravel / PHP 扩展包视频教程

    Laravel / PHP 扩展包视频教程

    2021年10月26日
    51
  • MySQL 数据库 增删查改、克隆、外键 等操作

    MySQL 数据库 增删查改、克隆、外键 等操作目录SQL字段数据类型查看数据库语句SQL语句创建、删除数据库数据表向表中添加、删除记录、查询记录修改表名,添加、修改、删除字段,添加唯一约束查看、删除、添加表中的索引创建外键约束数据库中有数据表,数据表中有一条一条的记录。SQL字段数据类型int:整型float:单精度浮点,4字节32位double:双精度浮点,8字节64位char:不可变长的字符类型,读取速度快,耗空间,长度不足会补空格。varchar:可变长的字符类型,但读取数据比char低,容易产生内存碎片t

    2022年5月24日
    36
  • java中重定向和转发的区别_java中转发和重定向的使用区别

    java中重定向和转发的区别_java中转发和重定向的使用区别java重定向和转发的区别response.sendredirect("http://www.foo.com/path/error.html");重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所…

    2025年8月29日
    10
  • 硬中断和软中断_软中断和硬中断的优先级

    硬中断和软中断_软中断和硬中断的优先级本文主要内容:硬中断/软中断的原理和实现内核版本:2.6.37Author:zhangskd@csdnblog 概述 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器。如果中断的线是激活的,中断控制器就把电信号发送给处理器的某个特定引脚。处理器于是立即停止自己正在做的事,跳到中断处理程序的入口点,进行

    2025年8月16日
    3
  • 图像预处理方法总结

    图像预处理方法总结1 图像二值化 1 1 简单阈值或全局阈值 gray cv cvtColor image cv COLOR RGB2GRAY 把输入图像灰度化 ret binary cv threshold gray 0 255 cv THRESH BINARY cv THRESH TRIANGLE 简单阈值当然是最简单 选取一个全局阈值 然后就把整幅图像分成了非黑即白的二值图像

    2025年11月6日
    1

发表回复

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

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