oepncv 学习总结(一)Mat的属性以及一些函数

2023-05-16

Mat是opencv的一种基本数据结构,该数据结构分为header和data两部分

头部分存储着Mat的一些基本属性:

  • dims

表示矩阵的维度,分为二维和三维

  • data

指向数据的指针,类型为*uchar,但是有时候需要将data强制类型转换

Mat src(1000,1000,CV_32F);
float* myptr = (float*)src.data;
  • rows cols

矩阵的行数和列数

  • size

矩阵的大小

  • step

每一行的字节数

  • flags

https://blog.csdn.net/yiyuehuan/article/details/43701797

  • total()

返回像素总数

  • step1()

每一行的通道数

  • ptr()

获取opencv mat的行指针,具体用法如下

//“()”里面的内容为行数,"<>"里面的内容表示指针类型
const uchar* inData = tempMat.ptr<uchar>(i);//表示第i+1行,指针为uchar
float* outData = imgAverage.ptr<float>(i);


//如果判断为Continuous,则可以很轻松进行遍历
int nr=image.rows;      
int nc=image.cols;  
if(image.isContinuous())  
    {  
        nr=1;  
        nc=nc*image.rows*image.channels();  
    }   
    for(int i=0;i<nr;i++)  
    {       
        const uchar* inData=image.ptr<uchar>(i);         
        uchar* outData=outImage.ptr<uchar>(i);        
        for(int j=0;j<nc;j++)  
        {  
            *outData++=*inData++;  
        }  
    }  

这里需要注意一下,如果图像时连续的,即每行都没有空白,则可以利用ptr达到data的效果

 

  • channels()

单个element的通道数

  • depth()

返回单个通道的基本数据类型

    #define CV_8U   0
    #define CV_8S   1
    #define CV_16U  2
    #define CV_16S  3
    #define CV_32S  4
    #define CV_32F  5
    #define CV_64F  6
    #define CV_USRTYPE1 7
  • elemSize()

这个elemSize()表示每个通道所占的byte数,即为几个字节

  • elemSize1()

矩阵一个通道所占的字节数

  • type()函数

返回单个像素的元素类型,包括通道数与每个通道的数据类型

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

oepncv 学习总结(一)Mat的属性以及一些函数 的相关文章

  • 【架构 Flutter实践 Clean架构 && TDD测试驱动开发---1.0】

    2022 11 12 补充 最近在开发中尝试用了clean架构 xff0c 感觉就是 麻烦 太多模板代码 xff0c 很容易过度开发 我认为了解这些理念是很重要的 xff0c 但应该跟随你的项目 流程 进行调整 裁剪 如果你们的流程是 服务
  • Flutter didUpdateWidget 的使用问题 ( 为什么不建议重写)

    简单总结 以我的认知 xff1a 不要重写 didUpdateWidget你需要重写 xff0c 是否是你设计有问题你确定要重写 xff0c 且设计没问题 评论下大佬 xff0c 我也学下这种case 总结 xff1a 不要依赖于 didU
  • java ClassLoader机制和如何加载外部class文件(含代码)

    Java类的生命周期 生命周期有 xff1a 加载 xff08 Loading xff09 验证 xff08 Verification xff09 准备 xff08 Preparation xff09 解析 xff08 Resolution
  • Android Studio开发Groovy

    Context xff1a 主要讲下Android Studio如何开发Groovy xff0c 搭环境这东西 xff0c 最恶心 我查了N多的外文 1 AS Android Studio 本身是支持Groovy的 xff0c Gradle
  • RXJava找不到AndroidSchedulers

    原因 xff1a 还需要依赖一个 RxAndroid xff0c RxAndroid里有AndroidSchedulers xff0c RxJava里是没有的 xff08 类似于Java的SDK不会包含 AndroidSDK里的TextVi
  • 安装APK 免输入vivo、oppo密码

    2020 06 03补充 最优化版本 GitHub demo地址 apk下载地址 新建一个APP xff0c 使用Accessibility功能 监听vivo的 安装引用 界面用户输入 vivo密码 xff0c 后续 自动填写用 安装应用弹
  • Android logct中的线程ID

    针对logcat中的线程ID 进程ID过滤 好奇的是 线程ID 并不是Thread类里的ID 64 Override protected void onCreate Bundle savedInstanceState super onCre
  • Java Socket 服务端发送数据 客户端接收数据

    服务端 xff1a package com thinkgem wlw modules api test socket 64 Author zhouhe 64 Date 2019 4 8 9 30 import java io import
  • 百度移动软件开发面试题(20131018)

    1 new与malloc的区别 xff1f 分析 xff1a 一 new和malloc都是用于申请动态内存 new使用delete释放空间 xff0c malloc使用free释放 new和delete是C 43 43 中的运算符 xff0
  • RK3568 Debian10 AP6275S Bluetooth调试

    overlay etc profile d start blutooth sh start blutooth sh chmod 777 sys class rfkill rfkill0 state echo 0 gt sys class r
  • Java与VBA通讯实践

    1 DDE 动态数据交换 方式 VBA具有DDE能力 xff0c Java没有 网上搜索了一下 xff0c 有几个公司开发了这方面的类库 xff0c 可以使Java具有DDE能力 xff08 1 xff09 JavaDDE nevaobje
  • Linux下如何设置程序的开机自启动功能

    文章目录 Linux下设置程序开机自启动1 etc rc local2 etc profile d 3 使用 crontab 方式4 使用 systemd 服务测试代码 Linux下设置程序开机自启动 在最后 xff0c 我放了我测试时候要
  • vnc连接不上,vnc连接不上是为什么?原因详解

    vnc连接不上的原因 xff0c 服务器作为网站建设的常用设备 xff0c 在服务器运行过程中起到举足轻重的作用 用户在选择服务器是常用的方式有服务器租用 虚拟主机租用以及服务器托管 xff0c 通过进行文件以及数据的下载 上传等实现网站的
  • window10安装vnc无法使用,window10安装vnc无法使用的原因和解决办法

    window10安装vnc无法使用的原因 xff0c 服务器作为网站建设的常用设备 xff0c 在服务器运行过程中起到举足轻重的作用 用户在选择服务器是常用的方式有服务器租用 虚拟主机租用以及服务器托管 xff0c 通过进行文件以及数据的下
  • 企业信息化技术架构展望

    企业用户慢慢的从前期选用一些同行业成功的项目案例来复制 xff0c 或者选用一些知名的咨询公司提出的行业内通用方案 xff0c 转型为自己主动认真思考什么是自己需求 xff0c 什么是真正适合自己的信息化之路 做为企业信息技术架构设计 xf
  • Errors were encountered while processing: google-chrome-stable

    转自 xff1a http omtlab com errors were encountered while processing google chrome stable Many people facing this issue whi
  • virtualbox 命令

    VBoxManage命令详解 xff08 一 xff09 本人对vboxmange命令按我个人的理解作了解释 xff0c 由于本人水平有限难免有错误的地方 xff0c 希望大家帮我指正 VBoxManage v version 显示virt
  • 基于Springboot的物业管理系统_代码

    下载地址 1 1 课题背景 目的及意义 1 1 1 课题背景 互联网 43 改变着我们的生活 xff0c 在传统的社区物业服务领域 xff0c 在服务业主 提升社区服务 质量方面 xff0c 如何与互联网融合 xff1f 顶级互联网技术团队
  • eclips运行generatorConfig.xml文件生成代码

    描述 xff1a 如何通过eclips工具来运行 generatorConfig xml 文件来自动生成代码并获取数据 xff08 类似于mybaits逆向生成 xff09 xff1f mybatis generator generate
  • Spring源码(4)Context篇之AbstractApplicationContext(下)

    上一篇 Spring源码 4 Context篇之AbstractApplicationContext xff08 上 xff09 讲解了Spring的AbstractApplicationContext类refresh 方法 xff0c 前

随机推荐

  • java多线程 一个生产者和多个消费者

    生产者和消费者模式是面试时很容易被问到的一类题 xff0c 在平常的开发中也经常碰到 xff0c 比如在网游开发中 xff1a 用一个线程把收到的字节数据封装起来写到一个队列中 xff0c 然后用一个或多个线程从该队列中把数据读取出来再分发
  • Python最强装逼神技!微信远程控制电脑,想让你电脑关机就关机!

    今天带给大家一个非常有意思的 python 程序 xff0c 基于 itchat 实现微信控制电脑 你可以通过在微信发送命令 xff0c 来拍摄当前电脑的使用者 xff0c 然后图片会发送到你的微信上 甚至你可以发送命令来远程关闭电脑 程序
  • JAVA 在linux下面生成验证码异常问题

    应用部署到Linux下 xff0c 结果首页登录的验证码显示不出来 该验证码是用java的图片包来处理图片的 xff0c 后台日志报错 xff1a java lang NoClassDefFoundError sun awt X11Grap
  • 【PowerShell 一天一练】 3. 调用winrar解压

    如果你安装了 winrar 且安装在对应下面的路径 xff0c 可以尝试一下下面的代码 xff08 事实上我也是 copy 并修改自网上的代码 xff09 unrar 61 c Program files winrar unrar exe
  • C/C++中二维数组和指针关系分析

    在C c 43 43 中 xff0c 数组和指针有着密切的关系 xff0c 有很多地方说数组就是指针式错误的一种说法 这两者是不同的数据结构 其实 xff0c 在C c 43 43 中没有所谓的二维数组 xff0c 书面表达就是数组的数组
  • 四叉树空间索引原理及其实现

    今天依然在放假中 xff0c 在此将以前在学校写的四叉树的东西拿出来和大家分享 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构 它将已知范围的空间等分成四个相等的子空间 xff0c 如此递归下去 xff0c 直至树的层次达到一定
  • DirectXShaderCompiler mac编译

    Directxshader compiler mac编译 1 前置条件 Please make sure you have the following resources before building GitPython Version
  • intel -tbb 源码cmake构建

    cmake minimum required VERSION 3 0 0 FATAL ERROR set CMAKE CXX STANDARD 17 project tbb CXX add library tbb SHARED void c
  • iOS编译openmp

    1 下载openmp源码 https github com llvm llvm project releases download llvmorg 14 0 6 openmp 14 0 6 src tar xz 2 下载ios toolch
  • mysql存储过程及拼接字符串的用法

    DROP PROCEDURE IF EXISTS insert historytable DELIMITER CREATE PROCEDURE insert historytable BEGIN 定义判断变量 DECLARE 1 id va
  • 矩阵的特征值和特征向量的雅克比算法C/C++实现

    矩阵的特征值和特征向量是线性代数以及矩阵论中非常重要的一个概念 在遥感领域也是经常用到 xff0c 比如多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量 根据普通线性代数中的概念 xff0c 特征值和
  • windows多线程详解

    在一个牛人的博客上看到了这篇文章 xff0c 所以就转过来了 xff0c 地址是http blog csdn net morewindows article details 7421759 本文将带领你与多线程作第一次亲密接触 xff0c
  • tiff文件读取

    以下是VC下读取TIFF文件的代码 char szFileName 61 34 K 地图 fujian DEM fujian1 tif 34 TIFF tiff 61 TIFFOpen szFileName 34 r 34 打开Tiff文件
  • GIS开发人员需要掌握的知识和技能

    对于GIS行业 xff0c 可能很多人不是很了解 xff0c 对我来说也不是很了解 xff0c 在此呢 xff0c 我就我自己的看法发表一下简单的看法 xff0c 有什么不同的意见可以一起交流 GIS虽说是属于地理科学或者说测绘科学与技术的
  • GIS算法的一点理解

    在GIS这个专业也混了好几年了 xff0c 但是始终没有对GIS算法有过真正的研究 xff0c 可以说大部分不懂 目前关于GIS算法的书籍不是特别多 xff0c 数来数去也就那么几本 xff0c 南师大几个老师编写的地理信息系统算法基础 x
  • char*转LPCWSTR解决方案

    在Windows编程中 xff0c 经常会碰到字符串之间的转换 xff0c char 转LPCWSTR也是其中一个比较常见的转换 下面就列出几种比较常用的转换方法 1 通过MultiByteToWideChar函数转换 MultiByteT
  • Eclipse 代码无法自动提示和补全

    使用Eclipse写Java程序的过程中发现代码无法自动提示 xff0c 非常影响效率 网上找到了解决办法 xff1a Preferences gt Java gt Editor gt Content Assist gt Auto Acti
  • Spring之自动配置

    自动配置也叫自动注入 xff0c 前一篇文章中提到的java配置方式 xff0c 对于所有要使用的类都需要一个一个的配置 这样就显得很麻烦 xff0c 我们可以通过自动配置来简化Bean的配置 自动配置需要使用到如下几个注解 Student
  • 解决错误apt --fix-broken install

    问题背景 今天在配置网络的时候 xff0c 在安装privoxy的时候 xff0c 遇到了apt fix broken install错误 命令行给的提示是 xff1a The following packages have unmet d
  • oepncv 学习总结(一)Mat的属性以及一些函数

    Mat是opencv的一种基本数据结构 xff0c 该数据结构分为header和data两部分 头部分存储着Mat的一些基本属性 xff1a dims 表示矩阵的维度 xff0c 分为二维和三维 data 指向数据的指针 xff0c 类型为