总结部分opencv各版本的相关转换
#include <iostream>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
using namespace std;
int main()
{
//老版
IplImage *pic = cvLoadImage("lena.jpg", 1);
cvShowImage("load", pic);
cvWaitKey(0);
//新版
Mat img = imread("lena.jpg");
imshow("read", img);
waitKey(0);
return 0;
}
opencv2 IplImage Mat 互转
IplImage * 转cv::Mat
IplImage* img;
cv::Mat mat(img);
cv::Mat 转IplImage *
cv::Mat mat;
IplImage *img=&(IplImage)mat;
cv::Mat 转const cvArr*
Mat img;
const CvArr* s=(CvArr*)&img;
在OpenCV 2.0中使用:
IplImage * ipl1, *ipl2;
// ...
const cv::Mat m = cv::Mat(ipl,false);
cv::Mat m2 = ipl2;
在OpenCV 3.0中:
IplImage * ipl = ...;
cv::Mat m = cv::cvarrToMat(ipl);