OpenCV中Mat、cvMat和IplImage类型转换
来源:互联网 发布:心理学书籍推荐 知乎 编辑:程序博客网 时间:2024/05/29 02:54
转载至《图像处理编程实例》,朱伟编著。
OpenCV2.X中图像容器一般有Mat、CvMat和IplImage,Mat是一个多维的密集数据数组,常用于进行计算性较高的矩阵、图像、直方图操作等。cvMat和IplImage是OpenCV1.x中提供的基于C语言版本的图像数据容器,侧重于图像数据本身的处理性能。在实际应用场景中,我们常常需要将不同的参数类型进行相互转换。
1、Mat转换为IplImage类型和CvMat类型
cv::Mat img;CvMat cvMatImg = img;IplImage IplImg = img;
需要注意的是,转换后Mat,IplImage和CvMat共享图像矩阵数据,传递的是矩阵头,并不复制数据,IplImage和CvMat就没有引用计数功能,如果上述代码中的img的数据被释放,cvMatImg和IplImage也就失去了相应数据。因此在进行上述转换后对IplImage和CvMat对象进行操作时,一定不能将转换前的Mat对象提前释放。
2、IplImage类型和CvMat类型转换为Mat类型
IplImage *IplImg = cvLoadImage("fruits.jpg");Mat img(IplImage, ture);
OpenCV2.x中提供Mat类兼容OpenCV1.x中IplImage和CvMat的两个构造函数:Mat::Mat(const CvMat* m, bool copyData = false)和Mat::Mat(const IplImage* img, bool copyData = false)。如果copyData的值是false,那么Mat将与IplImage或CvMat共用同一矩阵数据;如果copyData的值是true,Mat会新申请内存空间,然后将IplImage或CvMat的数据复制到Mat的数据区。
0 0
- OpenCV中Mat,IplImage,CVMat类型转换
- OpenCV中Mat、cvMat和IplImage类型转换
- 【OpenCV】opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- OpenCV中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- Opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- Opencv读取mat和cvMat元素&&Mat与IplImage和CvMat类型之间的相互转换
- OpenCv中cv::Mat和IplImage,CvMat之间的转换
- OpenCv中cv::Mat和IplImage,CvMat之间的转换
- OpenCV中IplImage, CvMat, Mat 的关系和相互转换
- OpenCV中IplImage, CvMat, Mat 创建和相互转换
- 基于主键映射的 一对一关系
- 不懂编程金融狗的葵花宝典03(python/K近邻法下篇/机器学习入门简单详细代码)
- ios sqlite 数据库文件的位置
- IO流之DataInputStream 、DataOutputStream
- 14.Java本地线程(ThreadLocal)
- OpenCV中Mat、cvMat和IplImage类型转换
- Centos7安装配置NFS服务和挂载
- Myecplise 使用Ueditor,项目莫名出现一个红叉解决方案
- 数据库概论
- R语言笔记
- NGINX跨域配置
- 第4章 自顶向下语法分析方法
- 使用NVM来管理Node
- Java 学生系统 运用 文件操作 自带menu