OpenCV中Mat的属性

最近在做一OpenCV的图像轮廓检验,但当用到霍夫变换时才发现对Mat的属性了解不足。Mat在OpenCV中的地位是及其重要的,因此有必要做一个总结。

大体上来说,Mat是一个类,由两个数据部分组成:矩阵头(包括矩阵尺寸、存储方法、存储地址等信息)和指向数据部分的指针。

  • 矩阵头部分
dims->矩阵的维度
rows->矩阵的行数
cols->矩阵的列数
size->矩阵的大小,size(cols,rows)
channels->矩阵元素拥有的通道数。
type->矩阵中元素的类型以及矩阵的通道个数,为一些预定常量,CV_(位数)+(数据类型)+(通道数),如:CV_8UC1表示元素类型是一个8位无符号整数,通道数为1。数据类型中U-无符号整数,S-有符号整数,F-浮点数。具体值如下 
CV_8UC1 CV_8UC2 CV_8UC3 CV_8UC4
CV_8SC1 CV_8SC2 CV_8SC3 CV_8SC4
CV_16UC1 CV_16UC2 CV_16UC3 CV_16UC4
CV_16SC1 CV_16SC2 CV_16SC3 CV_16SC4
CV_32SC1 CV_32SC2 CV_32SC3 CV_32SC4
CV_32FC1 CV_32FC2 CV_32FC3 CV_32FC4
CV_64FC1 CV_64FC2 CV_64FC3 CV_64FC4
depth->矩阵中元素的一个通道的数据类型,对应于0,1,2,3,4,5,6的预定义常量为:
CV_8U,CV_8S,CV_16U,CV_16S,CV_32S,CV_32F,CV_64F
elemSize->矩阵一个元素占用的字节数,例如:type是CV_16CS3,那么elemSize=3*16/8=6B
elemSize1->矩阵元素一个通道占用的字节数,例如:type是CV_16SC3,那么elemSize1=16/8=2B
还有一个比较复杂的step稍后将补充。

转载于:https://www.cnblogs.com/zhehan54/p/6698112.html

OpenCV中Mat的属性相关推荐

  1. Opencv中Mat的data数据只定义为uchar*类型,

    opencv中Mat的数据定义为指向uchar 的指针,而构造函数又提供了许多其他类型. 其实数据在内存中是一维存储的,而图像基本结构是二维的,3D图像还会是三维的:同时,彩色图像还有多个channe ...

  2. C++下的OpenCV中Mat类型存储的图像格式

    在调用CV进行图像处理时,经常涉及图像格式转换,经常出现原始图像输入后CV_32F与ushort之间的数据差异导致程序报错,可使用std::cout << "dilated_ty ...

  3. opencv中Mat究竟是什么?

    opencv中Mat究竟是什么?(试着运行一下两个代码) 首先看opencv是怎么显示一张图的 : //#include "stdafx.h"#include <opencv ...

  4. Opencv中 Mat矩阵中属性【随笔记】

    Opencv Mat矩阵中data.size.depth.elemSize.step等属性的理解 data: uchar类型的指针,指向Mat数据矩阵的首地址.可以理解为标示一个房屋的门牌号: dim ...

  5. opencv获取mat的指针_数字图像处理之opencv中Mat数据操作

    数字图像处理其实就是处理二维矩阵数据.利用opencv来学习处理算法是一种比较好的方式.学习opencv,主要就是调用其中的图像处理函数来实现各种操作.如果要得到想要的处理结果,还需要对图像处理算法有 ...

  6. Opencv中Mat类详细解读(学习笔记)

    基于windows10.vs2015.OpenCv4.1.0. 目录 1.Mat类简介 2.Mat类的构造与赋值 2.1.Mat类的构造 2.2.Mat类的赋值 3.Mat类支持的运算 3.1Mat类 ...

  7. OpenCV中Mat的type说明

    在opencv中,对于矩阵的处理过程几乎是不可能避开Mat矩阵这一数据类型的,而在创建Mat类型对象的过程中,我们会在某些初始化阶段需要设定type参数,这一参数规定了所生成矩阵对象内部存储的数据的相 ...

  8. opencv中mat详细解析

    ##1.起源 OpenCV作为强大的计算机视觉开源库,很大程度上参考了MatLab的实现细节和风格,比如说,在OpenCV2.x 版本以后,越来越多的函数实现了MatLab具有的功能,甚至干脆连函数名 ...

  9. OpenCV中Mat总结

    一.数字图像存储概述 数字图像存储时,我们存储的是图像每个像素点的数值,对应的是一个数字矩阵. 二.Mat的存储 1.OpenCV1基于C接口定义的图像存储格式IplImage*,直接暴露内存,如果忘 ...

最新文章

  1. (转) Docker EE/Docker CE简介与版本规划
  2. 使用nodejs搭建HTTPS server
  3. Pycharm 项目无法导入自己写的模块(问题记录贴)
  4. Spring之WebSocket网页聊天以及服务器推送
  5. python面试题之docstring是什么?
  6. android-studio于java相关
  7. 开源 微软 语音识别_能用嘴,绝不动手!支持跨屏的语音输入法,它来了!
  8. pytorch显存管理
  9. Matlab 常用功能
  10. yocto linux 内核源码,利用Bitbake、Poky、Yocto、OpenEmbedded编译生成车规AGL Linux
  11. 强烈呼吁弃用Notepad++,推荐几款优秀替代品
  12. 学习并掌握结构化写作方法,提高写作能力 ——结构化写作学习笔记(3)
  13. 2009上海最新“四金”及个人所得税计算(器)
  14. SQL Server数据库学习总结及T-SQL语法使用实战
  15. uniapp调用手机摄像头_uniapp原生插件开发之调用原生方法(android)
  16. Excel操作:制作to do list
  17. statsby: 不用循环语句的循环
  18. 三维重建中经常遇到的拓扑学概念的通俗解释
  19. JSP设置Excel表格换行_工作中常见的11个Excel难题,一次解决!
  20. 1 Tbps! 使用英特尔第三代Xeon® Scalable Processor 加速VPP IPsec

热门文章

  1. 操作ROS松灵机器人步骤及遇到的问题
  2. 【机器视觉】 executable_expression算子
  3. 【Qt】Qt手动布局
  4. 【Linux】一步一步学Linux——dpkg-deb命令(270)
  5. 穿梭框的list集合 去重
  6. windows7不支持AllocateAndGetTcpExTableFromStack
  7. STM32之独立看门狗与窗口看门狗总结
  8. linux中断的上半部和下半部
  9. Pixhawk的传感器数据(陀螺、加计等)流程
  10. 阿里云centos mysql_阿里云ECS服务器CentOS7上安装MySql服务-阿里云开发者社区