OpenCV之创建Mat函数的方法
来源:互联网 发布:电脑测试性能软件 编辑:程序博客网 时间:2024/05/22 16:02
No.1 使用Mat()构造函数
最简单明了的方法就是使用Mat()构造函数
Mat M(2,2,CV_8UC3,Scalar(1,2,205));cout<<"M="<<endl<<M<<endl<<endl;
运行结果:
M =
[1, 2, 205, 1, 2, 205
1, 2, 205, 1, 2, 205 ]
对于多维多通道图像,要定义其尺寸,行数和列数!
规则:
CV_[位数][带符号与否][类型前缀]C[通道数]
比如CV_8UC3表示使用了8位的unsighed char型,每个像素由三个元素组成三通道
No.2 在C++中通过构造函数进行初始化
示范代码:
int sz [] ={ 2, 2 ,2}; Mat L (3, sz, CV_8UC,Scalar::all(0));
创建一个超过二维的矩阵,指定维数,然后传递一个指向数组的指针,这个指针包括每个维度的尺寸,后面的参数参考NO.1
No.3 为已经存在的Ipllmage指针创建信息头
示范代码:
Ipllmage * img = cvLoadImage("1.jpg", 1);Mat mtx(img); //转化Ipllmage*->Mat
No.4 利用Create()函数
利用Mat类的Create()成员函数进行Mat类的初始化
M.create(4, 4, CV_8UC(2));cout << "M= "<< endl << " " << M << endl << endl;
运行效果:
No.5 采用Matlab式的初始化方式
采用Matlab式的初始化方式:zeros()、ones()、eyes()
Mat E = Mat::eye(4, 4, CV_64F); cout << "E = " << endl << " " << E << endl << endl; Mat O = Mat::ones(2, 2, CV_32F); cout << "O = " << endl << " " << O << endl << endl; Mat Z = Mat::zeros(3,3, CV_8UC1); cout << "Z = " << endl << " " << Z << endl << endl;
运行结果:
No.6 对于小矩阵用逗号分隔初始化
示范代码:
Mat C = (Mat_<double>(3,3) << 0, -1, 0, -1, 5, -1, 0, -1, 0); cout << "C = " << endl << " " << C << endl << endl;
运行结果:
No.7为存在的 Mat 对象创建一个新的信息头。
使用 clone() 或者 copyTo() 为一个存在的 Mat 对象创建一个新的信息头。
示范代码:
Mat RowClone = C.row(1).clone(); cout << "RowClone = " << endl << " " << RowClone << endl << endl;
0 0
- OpenCV之创建Mat函数的方法
- OpenCV基本图像容器Mat的几种创建方法
- 【OpenCV笔记 04】OpenCV中显式创建Mat对象的5种方法
- opencv Mat的七种创建方式
- 【OpenCV学习笔记】之三:Mat初始创建方法----要求数据连续存储
- opencv Mat创建注意事项
- opencv Mat创建图像
- 构造函数方法创建Mat对象
- 【拜小白opencv】12-Mat类常用的几种创建方法及clone(),copyTo()的使用
- opencv Mat元素的访问方法
- opencv Mat() 构造函数
- OpenCV中的Mat函数
- OpenCV不同类型Mat的at方法访问元素时该如何确定模板函数的typename
- opencv之Mat 类赋值的理解
- 2.opencv之mat
- OpenCV 之Mat::push_back()
- OpenCV之Mat
- opencv之Mat
- JS 跨域请求
- 关于TI CCS版本
- 你真的知道你所熟悉的map吗?
- python numpy.shape 和 numpy.reshape函数
- property 中的strong 与weak
- OpenCV之创建Mat函数的方法
- leetcode16 3Sum Closest
- 一款简洁登录页面
- hive中内部表和外部表
- PHP7新特性整理介绍篇
- LinuxCNC+EtherCAT(4)之LinuxCNC overview
- JSP内置对象
- 【Space Shoot Project】Adding a background
- 使用Tornado作为Django App的服务器