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

1. Mat数据类型

Mat定义

是一个类,由两个数据部分构成,矩阵头(包含矩阵尺寸,存储方法,存储地址等等)和一个指向存储所有像素值的矩阵的指针

成员变量

int cv::Mat::cols;     //返回矩阵的列数 
int cv::Mat::rows      // 返回矩阵行数 
uchar* cv::Mat::data   // 指向矩阵的数据单元的指针 
int cv::Mat::dims      // 返回矩阵维度,该维度≥2 
MatSize cv::Mat::size  // 返回矩阵大小

成员函数

获取图片高度:mat_name.cols
获取图片宽度:mat_name.rows
获取图像位深度,(即矩阵元素的存储方式,存储每个像素所用的位数):

mat_name.depth()

获取矩阵通道的数目:

mat_name.type()

创建二维Mat对象

Mat Matrix_name(行数,列数,存储元素的数据类型,每个矩阵点的通道数)

存储元素的数据类型

带符号与否:S为符号整型,U为无符号整型,F为浮点型
例如CV_8UC3

通道数

Scalar是一个short型的向量,能够使用指定的定制化值来初始化矩阵,还可以用来表示颜色

2. 图像格式

图像深度

图像位深度=比特数+数据类型
C++中OpenCV库的获取方式:(函数原型)

int Mat::depth()

下表是返回值以及对应含义

CV_[位数][带符号与否][类型前缀]C[通道数]

 

 

图像通道数

C++中OpenCV库的获取方式:(函数原型)

int Mat:channels()

图像类型

图像类型=比特数+数据类型+通道数
存储元素的数据类型:

CV_[位数][带符号与否][类型前缀]C[通道数]

带符号与否:S为符号整型,U为无符号整型,F为浮点型
C++中OpenCV库的获取方式:(函数原型)

int Mat:type()

具体数据类型与返回值关系:

 

单个元素的访问

使用at方式进行访问,在at的时候需要指定的数据类型对照表如下:

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值