OpenCV Mat和IplImage比较以及相互转换

Mat常用的五个函数
1.图像载入函数

Mat myMat= imread("test.jpg");  

2.窗口定义函数

namedWindow("原图"); 

3.图像显示函数

imshow("原图",myMat);  

4.图像保存函数

imwrite("test1.jpg",myMat);  



IplImage常用的五个函数
1.图像载入函数

IplImage* img;
img=cvLoadImage("d://1.jpg");

2.窗口定义函数

cvNamedWindow("1");

3.图像显示函数

cvShowImage("1",img);

4.图像保存函数

cvSaveImage("D:\\saveImage.jpg",img);

5.图像销毁函数

cvReleaseImage(&img);



1、将IplImage转换为Mat

//使用Mat的构造函数:Mat::Mat(const IplImage* img, bool copyData=false);    默认情况下copyData为false
IplImage* srcImg = cvLoadImage("lena512.bmp");

//注意:以下三种效果一致,均为浅拷贝
Mat M(srcImg);
//Mat M(srcImg, false);
//Mat M = srcImg;

//注意:当将参数copyData设为true后,则为深拷贝(复制整个图像数据)
//Mat M(srcImg, true);
imshow("原图", M);
waitKey();


2、将Mat转换为IplImage

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值