iOS openCV CvMat,Mat和IplImage之间的转化和拷贝

来源:互联网 发布:企业域名是什么意思 编辑:程序博客网 时间:2024/05/20 18:45

1、CvMat之间的复制

//注意:深拷贝 - 单独分配空间,两者相互独立  CvMat* a;  CvMat* b = cvCloneMat(a);   //copy a to b  

2、Mat之间的复制

复制代码
//注意:浅拷贝 -  不复制数据只创建矩阵头,数据共享(更改a,b,c的任意一个都会对另外2个产生同样的作用)Mat a;Mat b = a; //a "copy" to bMat c(a); //a "copy" to c//注意:深拷贝Mat a;Mat b = a.clone(); //a copy to bMat c;a.copyTo(c); //a copy to c
复制代码

3、CvMat转Mat

复制代码
//使用Mat的构造函数:Mat::Mat(const CvMat* m, bool copyData=false);    默认情况下copyData为falseCvMat* a;//注意:以下三种效果一致,均为浅拷贝Mat b(a);    //a "copy" to bMat b(a, false);    //a "copy" to bMat b = a;    //a "copy" to b//注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据)Mat b = Mat(a, true); //a copy to b
复制代码

4、Mat转CvMat

复制代码
//注意:浅拷贝Mat a;CvMat b = a; //a "copy" to b//注意:深拷贝Mat a;CvMat *b;CvMat temp = a; //转化为CvMat类型,而不是复制数据cvCopy(&temp, b); //真正复制数据 cvCopy使用前要先开辟内存空间
复制代码

==========IplImage与上述二者间的转化和拷贝===========

1、IplImage之间的复制
这个不赘述了,就是cvCopy与cvCloneImage使用区别,贴张网上的图:

2、IplImage转Mat

复制代码
//使用Mat的构造函数:Mat::Mat(const IplImage* img, bool copyData=false);    默认情况下copyData为falseIplImage* srcImg = cvLoadImage("Lena.jpg");//注意:以下三种效果一致,均为浅拷贝Mat M(srcImg);Mat M(srcImg, false);Mat M = srcImg;//注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据)Mat M(srcImg, true);
复制代码

3、Mat转IplImage

复制代码
//注意:浅拷贝 - 同样只是创建图像头,而没有复制数据Mat M;IplImage img = M;IplImage img = IplImage(M);//深拷贝cv::Mat img2;IplImage imgTmp = img2;IplImage *input = cvCloneImage(&imgTmp);
复制代码

4、IplImage转CvMat

复制代码
//法一:cvGetMat函数IplImage* img;CvMat temp;CvMat* mat = cvGetMat(img, &temp);    //深拷贝//法二:cvConvert函数CvMat *mat = cvCreateMat(img->height, img->width, CV_64FC3);    //注意height和width的顺序cvConvert(img, mat);    //深拷贝
复制代码

5、CvMat转IplImage

复制代码
//法一:cvGetImage函数CvMat M;IplImage* img = cvCreateImageHeader(M.size(), M.depth(), M.channels());cvGetImage(&M, img);    //深拷贝:函数返回img//也可写成CvMat M;IplImage* img = cvGetImage(&M, cvCreateImageHeader(M.size(), M.depth(), M.channels()));//法二:cvConvert函数CvMat M;IplImage* img = cvCreateImage(M.size(), M.depth(), M.channels());cvConvert(&M, img);    //深拷贝
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 皮鞋被雨水泡了怎么办 老婆提出离婚我不想离怎么办 极度缺爱的人怎么办 生二胎住院大宝怎么办 爸妈偏心我该怎么办 无创21体高风险怎么办 无创检查高风险怎么办 唐氏筛查21三体高危怎么办 唐筛年龄高风险怎么办 21三体综合症高风险怎么办 朋友深陷李强365怎么办 飞机上烟瘾犯了怎么办 怀孕一个月吸烟了怎么办 烟瘾犯了没烟怎么办 押金交了不租了怎么办 买车首付款不够怎么办 双11订金不退怎么办 在商场买到假货怎么办 网上买到假手机怎么办 网上买了假手机怎么办 网银转账被骗了怎么办 支付宝被骗了钱怎么办 被支付宝骗了钱怎么办 头发出油怎么办小妙招 照相的时候脸歪怎么办 怀孕两个月同床了怎么办 小姐被警察抓了怎么办 我的世界迷路了怎么办 砸到手指甲很痛怎么办 手被锤子砸肿了怎么办 拇指突然疼肿了怎么办 手指甲压紫了痛怎么办 砸到手指头肿了怎么办 小婴儿体重不长怎么办 2岁半宝宝不说话怎么办 米兰叶子掉光了怎么办 qq雷霆战机闪退怎么办 微信限额20万怎么办 欧拉方程x<0怎么办 柿子核吃下去了怎么办 橡胶底白色变黄怎么办