How to convert a Mat variable type in an IplImage variable type in OpenCV 2.0?

Spredzy picture Spredzy · Mar 18, 2010 · Viewed 52.7k times · Source

I am trying to rotate an image in OpenCV.

I've used this code that I found here on Stack Overflow:

Mat source(img);
Point2f src_center(source.cols/2.0, source.rows/2.0);
Mat rot_mat = getRotationMatrix2D(src_center, 40.0, 1.0);
Mat dst;
warpAffine(source, dst, rot_mat, source.size());

Once I have my dst Mat variable type filled up I would like to put it back to an IplImage variable type, any idea about how to do this?

Answer

jeff7 picture jeff7 · Mar 22, 2010

In the new OpenCV 2.0 C++ interface it's not really necessary to change from back and forth between Mat and IplImage, but if you want to you can use the IplImage operator:

IplImage dst_img = dst;

Note that only the IplImage header is created and the data (pixels) will be shared. For more info see the OpenCV C++ interface or the image.cpp example in the OpenCV-2.0/samples/c directory.