(转)Mat, vector<point2f>,Iplimage等等常见类型转换
在mfc c++ 以及opencv 编写程序当中,很多常用的类型转换,现在总结一下。(注意加相应的头文件,这里不罗嗦)
提纲:
5. vector<vector<Point2f>> or vector<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);
(转)Mat, vector<point2f>,Iplimage等等常见类型转换的更多相关文章
- 图像处理---《Mat对象 与 IplImage对象》
图像处理---<认识 Mat对象> Mat对象 与 IplImage对象 (1)Mat对象:OpenCV2.0之后引进的图像数据结构.自动分配内存.不存在内存泄漏的问题,是面向对象的数据结 ...
- Mat转化为IplImage类型的方法
Mat image_mat; IplImage imgTmp = image_mat; IplImage *img = cvCloneImage(&imgTmp);
- 关于vector.size()的一些常见错误总结
1. 问题引入 通过查看[https://www.cplusplus.com/reference/vector/vector/] 的vector.size()说明,即 member type defi ...
- STL_string.【转】C++中int、string等常见类型转换
ZC:#include <sstream> ZC:貌似还有 istringstream 和 ostringstream ... https://www.cnblogs.com/gaobw/ ...
- C++中int、string等常见类型转换
1.int型与string型的互相转换 最佳实践: int型转string型 void int2str(const int &int_temp,string &string_temp) ...
- c++ vector二维数组常见写法
vector<vector <int> > array(3);//定义了行数为3列数不定的二维数组 array.size()//返回二维数组的行数 array[0].size( ...
- 【转载】java的常见类型转换
//Int型数字转换成String int num1=123456; //方法1 String str1=num1+""; System.out.println(str1); // ...
- Dart常见类型转换 Int String Double
int -> string age.toString() string -> int int.parse('100'); String -> double var onePointO ...
- opencv 学习入门篇
unbuntu 安装:http://blog.csdn.net/cocoaqin/article/details/78163171 windows 安装:https://jingyan.baidu.c ...
随机推荐
- php get_include_path();是干嘛的、??还有set_include_path();/?????
首先 我们来看这个全局变量:__FILE__ 它表示文件的完整路径(当然包括文件名在内) 也就是说它根据你文件所在的目录不同,有着不同的值:当然,当它用在包行文件中的时候,它的值是包含的路径: 然后: ...
- Condition实现多个生产者多个消费者
Condition实现多对多交替打印: import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.R ...
- iOS 地图(添加大头针)
首先在工程中导入MapKit.framework库文件 #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <U ...
- mysql join查询的on 与 where 的不同点
on总数以left join的左表为准,where会过滤掉,不符合where条件的数据
- redis 有用
浅谈redis (1)什么是redis? Redis 是一个基于内存的高性能key-value数据库. (有空再补充,有理解错误或不足欢迎指正) (2)Reids的特点 redis本质上是一 ...
- php学习笔记-do while循环
do{ func(); }while(condition) do while执行逻辑是先执行循环体里面的代码,再判断condition是否为true,如果是则和while循环一样了.如果conditi ...
- tab页以及jqgrid某些用法参考记录
<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="CcrCreditHuman ...
- spring第二篇
上次写到spring是什么,说了很多的废话,那么从现在起 来看看spring如何使用 写几个例子 1 如何使用 spring 1.1导包 在导入四个包的基础上再导入日志包总共六个包 如下图 1.2 ...
- 网站下载器WebZip、Httrack及AWWWB.COM网站克隆器
动机 闲扯节点,可略读. 下载并试用这些软件并非是为了一己之私,模仿他人网站以图利.鉴于国内网络环境之艰苦,我等屌丝级半罐水程序员,纵有百度如诸葛大神万般协力相助,也似后主般无能不能解决工作和娱乐中 ...
- [转]delphi xe6 android屏幕操持常亮
1) setting the Project Options, Uses Permissions, Wake lock = True 2) Adding Android.JNI.PowerManage ...