opencv (opencv3.X) IplImage相互转换mat

opencv3.x之前的版本,mat有构造函数 Mat(const IplImage* img, bool copyData=false);
IplImage转mat可以直接用由

extern  IplImage * plpliamge;//plpliamge已创建
 cv::Mat matImage( IplImage, 0  ): //第二个参数表示不进行像素数据copy;

实现IplImage转为mat

但是在opencv3.x中,Mat(const IplImage* img, bool copyData=false);构造函数取消了,所以只能另辟蹊径啦!下面是在3.x中可行办法:

1. IplImage to cv::Mat example program

 #include "opencv2/highgui/highgui.hpp"  
 #include <iostream>  
 #include <stdio.h>  
 using namespace std;  
 using namespace cv;  
 int main(int argc,  
    char *argv[]  
  )  
 {  
 ///Loading image to IplImage  
 IplImage *img=cvLoadImage(argv[1]);  
 cvShowImage("Ipl",img);  
 ///converting IplImage to cv::Mat  
 Mat image=cvarrToMat(img);  
 imshow("Mat",image);  
 waitKey();  
 return 0;  
 }  

2. cv::Mat to IplImage example program

 #include "opencv2/highgui/highgui.hpp"  
 #include <iostream>  
 #include <stdio.h>  
 using namespace std;  
 using namespace cv;  
 int main(int argc,  
  char *argv[]  
  )  
 {  
 ///Reading Image to cv::Mat  
 Mat image =imread(argv[1],1);  
 ///Converting Mat to IplImage  
 IplImage test = image;  
 ///showing image from mat  
 imshow("Mat",image);  
 ///showing image from IplImage  
 cvShowImage("Ipl",&test);  
 waitKey();  
 return 0;  
 }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值