首页 OPenCV2中Mat对象常用函数属性总结

OPenCV2中Mat对象常用函数属性总结

举报
开通vip

OPenCV2中Mat对象常用函数属性总结OPenCV3.2中Mat对象常用函数属性总结Mat对象是OpenCV2.0之后引进的图像数据结构,它能自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分。在使用Mat对象时,有以下四个要点需要注意:1、输出图像的内存是自动分配的2、使用OpenCV的C++接口,不需要考虑内存分配问题3、赋值操作和拷贝构造函数只会复制头部分4、使用clone与copyTo两个函数实现数据完全复制下面我们就具体介绍一下公共成员函数和公共属性。公共成员函数:1、cv::Mat::Mat(introw...

OPenCV2中Mat对象常用函数属性总结
OPenCV3.2中Mat对象常用函数属性总结Mat对象是OpenCV2.0之后引进的图像数据结构,它能自动分配内存、不存在内存泄漏的问题,是面向对象的数据结构。分了两个部分,头部与数据部分。在使用Mat对象时,有以下四个要点需要注意:1、输出图像的内存是自动分配的2、使用OpenCV的C++接口,不需要考虑内存分配问题3、赋值操作和拷贝构造函数只会复制头部分4、使用clone与copyTo两个函数实现数据完全复制下面我们就具体介绍一下公共成员函数和公共属性。公共成员函数:1、cv::Mat::Mat(introws,intcols,inttype)参数:rows2D数组中的行数cols2D数组中的列数。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。2、cv::Mat::Mat(Sizesize,inttype)参数:size2D数组大小:Size(cols,rows)。在Size()构造函数中,行数和列数以相反的顺序排列。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。3、cv::Mat::Mat(introws,intcols,inttype,constScalar&s)参数:rows2D数组中的行数。cols2D数组中的列数。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。s初始化每个矩阵元素的可选值。在构建后将所有矩阵元素设置为特定值,使用赋值运算符Mat::operator=(constScalar&value)。4、cv::Mat::Mat(Sizesize,inttype,constScalar&s参数:size二维数组的大小:Size(cols,rows).在Size()构造函数中,行数和列数以相反的顺序排列。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。s初始化每个矩阵元素的可选值。在构建后将所有矩阵元素设置为特定值,使用赋值操作符Mat::operator=(constScalar&value).5、cv::Mat::Mat(intndims,constint*sizes,inttype)参数:ndims数组维数。sizes指定n维数组形状的整数数组。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。6、cv::Mat::Mat(intndims,constint*sizes,inttype,constScalar&s)参数:ndims数组维数。sizes指定n维数组形状的整数数组。type数组类型。使用CV_8UC1,…,CV_64FC4创建1-4通道矩阵,或CV_8UC(n),…,CV_64FC(n)创建多通道(向上到CV_CN_MAX通道)矩阵。s初始化每个矩阵元素的可选值。在构建后将所有矩阵元素设置为特定值,使用赋值操作符Mat::operator=(constScalar&value).7、cv::Mat::Mat(constMat&m)参数:m被分配给被构造的矩阵的数组(作为一个整体或部分)。没有数据被这些构造函数复制。而是指向m数据或它的子数组的头指针被构造并与之关联。如果有引用计数器的话,计数器是递增的。因此,当您使用这样的构造函数修改生成的矩阵时,您也会修改相应的m元素。如果你想要一个独立的子数组拷贝,使用Mat::clone().8、cv::Mat::Mat(constMat&m,constRange&rowRange,constRange&colRange=Range::all())参数:m被分配给被构造的矩阵的数组(作为一个整体或部分)。没有数据被这些构造函数复制。而是指向m数据或它的子数组的头指针被构造并与之关联。如果有引用计数器的话,计数器是递增的。因此,当您使用这样的构造函数修改生成的矩阵时,您也会修改相应的m元素。如果你想要一个独立的子数组拷贝,使用Mat::clone().RowRange要取的m的行范围。通常,范围开始是包含的,范围结束是除外的。使用Range::all()获取所有行。colRange要取m的列范围。使用Range::all()获取所有的列。9、cv::Mat::Mat(constMat&m,constRect&roi)参数:m被分配给被构造的矩阵的数组(作为一个整体或部分)。没有数据被这些构造函数复制。而是指向m数据或它的子数组的头指针被构造并与之关联。如果有引用计数器的话,计数器是递增的。因此,当您使用这样的构造函数修改生成的矩阵时,您也会修改相应的m元素。如果你想要一个独立的子数组拷贝,使用Mat::clone().roi感兴趣区域.10、_Tp&cv::Mat::at(inti0=0)返回指定数组元素的引用。下面的示例初始化一个Hilbert矩阵:MatH(100,100,CV_64F);for(inti=0;i(i,j)=1./(i+j+1);11、intchannels()const返回矩阵通道的数目。12、Matclone()const创建数组的完整副本和底层数据。13、voidcopyTo(OutputArraym)const将矩阵复制到另一个矩阵。参数m目标矩阵。如果在操作前没有适当的大小或类型,则重新分配14、voidcreate(introws,intcols,inttype)分配新的数组数据参数:rows新的的行数。cols新列数。type新的矩阵类型。15、intcv::Mat::depth()const返回矩阵元素的深度该方法返回矩阵元素深度的标识符(每个单独通道的类型)。例如,对于一个16位有符号的元素数组,该方法返回CV_16S。矩阵类型的完整列 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 包含以下值:CV_8U-8-bitunsignedintegers(0..255)CV_8S-8-bitsignedintegers(-128..127)•CV_16U-16-bitunsignedintegers(0..65535)CV_16S-16-bitsignedintegers(-32768..32767)CV_32S-32-bitsignedintegers(-2147483648..2147483647)CV_32F-32-bitfloating-pointnumbers(-FLT_MAX..FLT_MAX,INF,NAN)CV_64F-64-bitfloating-pointnumbers(-DBL_MAX..DBL_MAX,INF,NAN)16、uchar*cv::Mat::ptr(inti0=0)返回指定的矩阵行的指针。参数:i0一个基于行的索引。公共属性1、intcv::Mat::cols矩阵的列2、uchar*cv::Mat::data指向数据的指针3、intcv::Mat::dims矩阵维数,>=24、intcv::Mat::rows当矩阵有超过2个维度时,行数和列(-1,-1)的数目
本文档为【OPenCV2中Mat对象常用函数属性总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_270070
暂无简介~
格式:doc
大小:9KB
软件:Word
页数:7
分类:
上传时间:2020-05-18
浏览量:1