在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下。(注意加相应的头文件,这里不罗嗦)

提纲:

1. Mat ---> Iplimage
2. Iplimage  --->  CvvImage
3. Mat  ---> vector<Point2f> or vector<Point3f>
4. vector<Point2f> or vector<Point3f>  --->  vector<vector<Point2f>> or vector<vector<Point3f>>

5. vector<vector<Point2f>> or vector<vector<Point3f>>  ---> Mat

6. vector<Point2f> or vector<Point3f>  --->  Mat

图像类

1. Mat ---> Iplimage :直接赋值

Mat img;
Iplimage myImg = img;  

2. Iplimage  --->  CvvImage :用“Copyof ”

CvvImage cImg;
Iplimage myimg;
cImg.Copyof(myimg, -1);  

数据类

3. Mat  ---> vector<Point2f> or vector<Point3f> :用“Mat_<Point2f>“ ,“Mat_<Point3f>”

Mat m;
vector<Point3f> p;
p = Mat_<Point3f>(m);  

4. vector<Point2f> or vector<Point3f>  --->  vector<vector<Point2f>> or vector<vector<Point3f>> :用“pushback”

vector<Point3f> p1,p2,p3;
vector<vector<Point3f>> pp;
pp.pushback(p1);
pp.pushback(p2);
pp.pushback(p3);

5. vector<vector<Point2f>> or vector<vector<Point3f>>  ---> Mat

vector<vector<Point3f>> p;
Mat pm((int)p.size(), p[0].size(), CV_32FC3);for( int i = 0; i < (int)p.size(); i++ )
{Mat r = pm.row(i).reshape(3, pm.cols);Mat pm1(p[i]);pm1.copyTo(r);
}

6. vector<Point2f> or vector<Point3f>  --->  Mat :用“Mat(Point3f)"

vector<Point3f> p;
Mat m = Mat(p);

转载于:https://www.cnblogs.com/byteHuang/p/7478030.html

(转)Mat, vectorpoint2f,Iplimage等等常见类型转换相关推荐

  1. Mat, vectorpoint2f,Point3d Iplimage等等常见类型转换

    在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下.(注意加相应的头文件,这里不罗嗦) 提纲: 1. Mat ---> Iplimage 2. Iplimage  ...

  2. opencv中Mat与IplImage,CVMat类型之间转换

    opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利. Mat类型 ...

  3. Mat,Iplimage,vector,vector_vector_Point2f等类型之间的相互转换

    在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下.(注意加相应的头文件,这里不罗嗦) 提纲: 1. Mat ---> Iplimage 2. Iplimage  ...

  4. CvMat、Mat、IplImage之间的转换详解及实例

    IplImage: 在OpenCV中IplImage是表示一个图像的结构体,也是从OpenCV1.0到目前最为重要的一个结构: 在之前的图像表示用IplImage,而且之前的OpenCV是用C语言编写 ...

  5. CvMat,Mat和IplImage之间的转化和拷贝

    1.CvMat之间的复制 ``` //注意:深拷贝 - 单独分配空间,两者相互独立 CvMat* a; CvMat* b = cvCloneMat(a); //copy a to b ``` 2.Ma ...

  6. Mat与IplImage*类型间的转换

    在Opencv2.X以上的处理中,大部分处理都是以Mat为主,而对于习惯了1.X的我来说,有时候会带来不便,希望能采用1.X的形式来处理. 经过试验,介绍两种简单的Mat与IplImage*类型间的转 ...

  7. OpenCv cv::Mat 转 IplImage 函数

    调用该函数如下: MatConvertImage(img,qImg); void MatConvertImage(Mat& imgmat, IplImage* img) { cv::cvtCo ...

  8. Mat与IplImage相互转换

    1.CvMat之间的复制 //注意:深拷贝 - 单独分配空间,两者相互独立  CvMat* a;  CvMat* b = cvCloneMat(a);   //copy a to b 2.Mat之间的 ...

  9. Mat转换为IplImage 类型和CvMat 类型

    cv::Mat img; CvMat cvMatImg = img; IplImage IplImg = img; 转载:http://blog.csdn.net/zhuwei1988

最新文章

  1. C面向对象之透明指针的运用
  2. Python字符串常用方法(二)
  3. 【视频课】图像分类最新内容来了(言有三录制6大理论部分讲解)
  4. RocketMQ部署安装注意事项
  5. OpenGL sparsetexture稀疏纹理的实例
  6. 我的工作日志 2020年12月1日 星期一
  7. 罗永浩直播间12小时销售破2亿元 网友:《真还传》年内上映指日可待
  8. 浏览器cookie那些事儿
  9. c语言程序分数化简,C ++中的简化分数
  10. mysql通过centos本地命令行还原数据库出现乱码问题
  11. python 实现串口通信USB转232自闭环、USB转485测试
  12. java1.8离线安装包_运维笔记--Ubuntu离线安装jdk1.8(JDK8)Java环境
  13. 游戏数值策划入门介绍
  14. STM32移植STemwin
  15. QT应用编程: 编写低功耗BLE蓝牙调试助手(Android系统APP)
  16. 32位计算机处理64位数据,win764位和32位区别
  17. Linux 虚拟内存和物理内存的理解
  18. Thunder for Mac: 迅雷下载记录保存文件etm_task_store.dat.mac的解析 【更新】
  19. 那些实用有趣的网站,建议低调收藏
  20. pip安装selenium

热门文章

  1. mysql字段timestamp为空映射报错处理
  2. centos7 python
  3. 一些经常在建站中用到的英文
  4. offer from university of edinburgh
  5. 我的GitHub 欢迎光临
  6. 盲人可以也做软件工程师,反思一下老哥
  7. rhel5.5配置yum
  8. Vue注意事项及用得较多的属性归纳
  9. Python瓦匠 —— 正则表达式(五)
  10. 【最短路】【spfa】小vijos P1447 Updown