OpenCV2:Mat
来源:互联网 发布:丛林之王一号淘宝 编辑:程序博客网 时间:2024/05/20 14:27
1 创建Mat对象的几种方法
根据参考资料[1],下面列出一些创建Mat对象的方法。
1.1 Mat::Mat(int rows, int cols, int type)
Mat img(h, w, CV_32FC1);解析:创建一个Mat对象img,宽高分别为w,h,数据类型为32位浮点数,单通道,并且为img.data分配内存。
1.2 Mat::Mat(int rows, int cols, int type, const Scalar& s)
Mat img(h, w<span style="font-family: Arial, Helvetica, sans-serif;">, CV_32FC1, cv::Scalar(100));</span>解析:创建一个Mat对象img,宽高分别为w,h,数据类型为32位浮点数,单通道;为img.data分配内存,初始值为100。
1.3 Mat::Mat(int rows, int cols, int type, void* data, size_t step=AUTO_STEP)
Mat img(h, w, CV_32FC1, (void*)img_data);解析:创建一个Mat对象img,宽高分别为w,h,数据类型为32位浮点数,单通道;img.data的位置为img_data。
1.4 小结
除了1.1和1.2在创建对象时都会根据图像的大小分配内存,而这部分内存有时候我们是不需要的,因为图像的数据我们自定义保存在其它地方。这时候可以使用1.3的方法。
2 与IplImage及CvMat之间的转换
2.1 IplImage->Mat
IplImage* img = cvLoadImage("greatwave.jpg", 1);Mat mtx(img); // convert IplImage* -> Mat
2.2 Mat->IplImage
Mat imgMat;IplImage pImg= IplImage(imgMat);2.3 Mat->CvMat
Mat mtx;CvMat oldmat = mtx; // convert Mat -> CvMat
参考资料
[1]Basic Structures:Mat
[2]OpenCV Mat数据类型及位数总结
[3][ OpenCV参考手册之Mat类详解2]
[4]关于opencv中Mat类型转换的一个问题
[5]CvArr、Mat、CvMat、IplImage、BYTE转换(总结而来)
0 0
- OpenCV2:Mat
- OpenCV2:Mat
- OpenCV2:Mat
- OpenCV2:Mat
- OpenCV2:Mat
- OpenCV2:Mat
- opencv2 Mat详解
- OpenCV2之Mat简介
- opencv2-mat的特点
- opencv2:Mat基础 转
- OpenCV2:Mat属性
- opencv2.4 Mat矩阵操作
- OpenCV2中访问Mat元素
- 从OpenCV2的Mat说起
- opencv2-新特性及Mat
- openCV2.X的cv::Mat访问元素
- Lecture 2 opencv2系列之初识Mat
- Lecture 3 opencv2系列之遍历Mat
- Sqoop1.4.4在Hadoop2.2.0集群上的安装
- WV.11-猴子选大王(约瑟夫环问题)
- POJ-1182 食物链 (种类并查集)
- [C++]LeetCode: 107 Reverse Words in a String (2014腾讯实习笔试题)
- 接受广州医科大学生关于慕课采访
- OpenCV2:Mat
- html网页颜色代码表(必备)
- 架构师作死的进度
- 堆排序
- 重构 用多态取代条件逻辑
- QScript
- 数理统计——生物统计学的数学基础
- 搜集的一些安全工具集合
- 算法中的p np npc问题