cv::Mat为OpenCV2和OpenCV3中最重要的类,可以毫不夸张得说,掌握了cv::Mat的操作,就掌握了OpenCV大半,这里将详细的介绍下cv::Mat类的成员函数及其使用。

1、clone()

m1 = m0.clone();  //将m0完全拷贝到m1中,同时拷贝m0中的所有数据,且拷贝的矩阵是连续的。

2、copyTo()

m0.copyTo(m1); // 将m0中的内容拷贝到m1中,如果有必要重新分配m1(等价于m1 = m0.clone())。
m0.copyTo(m1, mask); //将m0中,mask所指示的的数据拷贝到m1中。

3、convertTo()

m0.convertTo(m1, type, scale, offset); //将m0中的元素转换成type类(CV_32F等),作scale尺度的缩放,offset偏移,写入m1中。

4、setTo()

m0.setTo(s,mask); //将m0中所有的元素的值设为s;如果使用mask,则只设定mask中的非零元素。

5、reshape()

m0.reshape(chan, rows); //改变二维矩阵的的实际形状,不进行数据拷贝;若chan或rows为0,则表示不作改变。

6、push_back()

m0.push_back(s); //对mx1矩阵进行扩展,并在末尾插入单一值s。
m0.push_back(m1); //对mxn矩阵作k行扩展,并将m1拷贝到这些行中;m1的大小为kxn。

7、pop_back()

m0.pop_back(n); //从m0尾部移除n行,默认情况下n为1。

8、locateROI()

m0.locateROI(size, offset); //将m0的大小重写为size,如果m0重写后变成更大的矩阵,则起始点为cv::Pointoffset点。

9、adjustROI()

m0.adjustROI(t, b, l, r); //在m0的上下左右分别添加t、b、l、r个像素。

10、total()

m0.total(); //计算所有数组元素的个数,不考虑通道。

11、isContinuous()

m0.isContinuous(); //如果m0所有的行在内存空间中打包时都没有间隙,则返回true。

12、elementSize()

m0.elementSize(); //返回矩阵m0中每个元素的字节大小(如3通道float型的矩阵则返回12)。

13、elementSize1()

m0.elementSize1(); //返回矩阵m0中每个次元素的字节大小(如3通道float型的矩阵则返回4)。

14、type()

m0.type(); //返回m0中元素的有效类型标识符(如CV_32FC3)。

15、depth()

m0.depth(); //返回m0中单个通道中元素的有效类型标识符(如CV_32F)。

16、channels()

m0.channels(); //返回m0中元素的通道数目。

17、size()

m0.size(); //以cv::Size对象的形式返回m0的大小。

18、empty()

m0.empty(); //如果数组中没有元素(如m0.total == 0或m0.data == NULL)则返回true。

2017.03.28

【OpenCV3】cv::Mat类成员函数详解相关推荐

  1. CString类所有成员函数详解

    VC里CString是我们最常用的类之一,我们觉得对它很熟悉了,可是你知道它的所有用法吗? 还是系统的学习一下吧,认真看完本文就OK了. 下面开始: CString::Compare int Comp ...

  2. 【OpenCV3】直线拟合--FitLine()函数详解

    一.FitLine()函数原型 CV_EXPORTS_W void fitLine( InputArray points, // 待输入点集(一般为二维数组或vector点集)OutputArray ...

  3. C++常对象,常变量,常成员函数详解(含添加内容)

    既要使数据能在一定范围内共享,又要保证它不被任意修改,可使用const. ·        用const修饰的声明数据成员称为常数据成员 ·        用const修饰的声明成员函数称为常成员函数 ...

  4. OpenCv Mat -类 成员函数

    先从最简单的学起来 1.mat.cols() mat 矩阵的列数,和矩阵的通道数无关 new Mat(10,20,CvType.CV_8UC2)      mat.cols==20 2.mat.row ...

  5. STL vector成员函数详解

    一. 常用简单成员函数 vector::push_back(Type val) //将val添加到向量尾部 vector::pop_back() //将最后一个元素删除 iterator vector ...

  6. 【C++】类的6个默认成员函数详解

  7. 赶紧来修炼内功发~内存函数详解大全-memcpy、memmove、memcmp

    目录 1. memcpy EX: PS: 模拟实现: 2. memmove EX: ​编辑 模拟实现: 3. memcmp EX: PS: 模拟实现: 4. memset EX: 模拟实现: 1. m ...

  8. 详解函数指针和类成员函数指针

    作者:倾夜·陨灭星尘 一.什么是函数指针? 函数指针,顾名思义即指向函数的指针. 如果要问,为什么能用一个指针指向一个函数呢?我觉得要理解这个问题,以及要理解后面的函数指针和类成员函数指针,没有什么比 ...

  9. OpenCV 图像卷积:cv.filter2D() 函数详解

    API 照例,我们搬一下官网的 API: C++ void cv::filter2D(InputArray src,OutputArray dst,int ddepth,InputArray kern ...

最新文章

  1. 高并发场景下创建多少线程才合适?一条公式帮你搞定!!
  2. pci规划的三个原则_NR PCI规划
  3. 前端之 JavaScript 基础
  4. 查看Linux服务器运行级别命令,linux命令1、如何查看当前的Linux服务器的运行级别?...
  5. 2017.9.22 小约翰的游戏John 失败总结
  6. HTML5通信机制与html5地理信息定位(gps)
  7. 洛谷 2312 / bzoj 3751 解方程——取模
  8. ios-Text inset for UITextField
  9. 领域驱动设计DDD之读书笔记
  10. android nds模拟器窗口,安卓NDS模拟器drastic模拟器使用经验分享
  11. 如何做好一位合格qc_如何成为一名合格优秀的QC,你合格吗?
  12. 三维图看法亲身经验.
  13. 网络基础学习Day_01
  14. excel自动求和_excel自动求和你会吗?更改姓名自动算出总分,三个函数轻松搞定...
  15. css翻转箭头,巧用css3轻松实现箭头上下旋转
  16. PostGis部分点线相关函数测试
  17. css选择器(选择div内所有p元素)
  18. HTML+CSS第十课:常见的3种网页布局方式:表格布局、DIV+CSS布局、框架布局
  19. c语言中的fab是什么意思,FAB法则中的F是指什么
  20. 2022-08-15 第四小组 修身课 学习笔记(every day)

热门文章

  1. Java Review - 并发编程_ CountDownLatch原理源码剖析
  2. MyBatis-17MyBatis代码生成器(逆向工程)MBG使用
  3. Linux-awk及内置变量
  4. 监控服务器项目报备,智慧环保监控预警平台运维项目
  5. linux blender 中文乱码,Blender2.7.8中文显示框框乱码该怎么办?
  6. python 删除链表中倒数第N个节点
  7. 区分JAVA中的对象和引用
  8. element-ui table点击某行,修改背景颜色(即高亮)
  9. Matlab直线一级倒立摆控制方法研究
  10. 【新星计划】MATLAB-冒号:符号详解