日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

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

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mat,Iplimage,vector,vector_vector_Point2f等类型之间的相互转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在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 :直接賦值?

  1. Mat img;
  2. Iplimage myImg = img;


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

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


數據類

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

  1. Mat m;
  2. vector<Point3f> p;
  3. p = Mat_<Point3f>(m);


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

  1. vector<Point3f> p1,p2,p3;
  2. vector<vector<Point3f>> pp;
  3. pp.pushback(p1);
  4. pp.pushback(p2);
  5. pp.pushback(p3);


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

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


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

  1. vector<Point3f> p;
  2. Mat m = Mat(p);
[轉](https://blog.csdn.net/foreverhehe716/article/details/6749175)

總結

以上是生活随笔為你收集整理的Mat,Iplimage,vector,vector_vector_Point2f等类型之间的相互转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。