VS2017+OpenCV 3.4.9 MFC中Mat转换为IplImage

it2023-11-08  77

为了在VS2017+OpenCV 3.4.9的MFC程序中使用CvvImage类显示图像,需要将Mat转换为IplImage。 \qquad 使用以下语句均会报错:

Mat img = imread("lena.jpg"); IplImage iplImage1 = IplImage(img); // VS2017+OpenCV3.4.9 报错 IplImage *iplImage2 = cvCloneImage(&(IplImage)img); // VS2017+OpenCV3.4.9 报错 IplImage iplImage3 = img; // VS2017+OpenCV3.4.9 报错 IplImage *iplImage4 = &IplImage(img); // VS2017+OpenCV3.4.9 报错

会报错: no suitable user-defined conversion from cv::Mat to IplImage exists

\qquad \qquad 使用以下语句可以实现转换:

Mat img = imread("lena.jpg"); IplImage iplImage; iplImage = cvIplImage(img); // VS2017+OpenCV3.4.9 测试有效

在OpenCV4.x中已经完全抛弃了旧的C语言写法,CvvImage类几乎完全失效,可能只有完全改写才行。

最新回复(0)