sample06_ResizeImage_IplImage_Cobvert_Mat
/* <%%KEEPWHITESPACE%%> 柯博文老師 <%%KEEPWHITESPACE%%> www.powenko.com <%%KEEPWHITESPACE%%> */ #include &lt;iostream&gt; #include &lt;opencv2/core/core.hpp&gt; #include &lt;opencv2/highgui/highgui.hpp&gt; #include &lt;opencv2/opencv.hpp&gt; using namespace cv ; using namespace std ; int main() { <%%KEEPWHITESPACE%%> IplImage *srcImg = NULL; <%%KEEPWHITESPACE%%> IplImage *dstImg = NULL; <%%KEEPWHITESPACE%%> srcImg = cvLoadImage( "/Users/powenko/Desktop/1.png", 1); <%%KEEPWHITESPACE%%> if ( srcImg == NULL ) { <%%KEEPWHITESPACE%%> return -1; <%%KEEPWHITESPACE%%> } <%%KEEPWHITESPACE%%> dstImg = cvCreateImage( cvSize(srcImg-&gt;width / 2, <%%KEEPWHITESPACE%%> srcImg-&gt;height / 2), <%%KEEPWHITESPACE%%> srcImg-&gt;depth, <%%KEEPWHITESPACE%%> 3 ); <%%KEEPWHITESPACE%%> dstImg = cvCreateImage( cvSize(srcImg-&gt;width / 2, <%%KEEPWHITESPACE%%> srcImg-&gt;height / 2), <%%KEEPWHITESPACE%%> srcImg-&gt;depth, <%%KEEPWHITESPACE%%> 3 ); <%%KEEPWHITESPACE%%> cvResize( srcImg, dstImg, CV_INTER_LINEAR ); <%%KEEPWHITESPACE%%> cvShowImage( "Source", srcImg ); <%%KEEPWHITESPACE%%> cvShowImage( "PowenKo.com Result", dstImg ); <%%KEEPWHITESPACE%%> // IplImage轉換 程式碼相當簡單,如下: <%%KEEPWHITESPACE%%> // IplImage to Mat <%%KEEPWHITESPACE%%> cv::Mat mat(dstImg, 0); <%%KEEPWHITESPACE%%> //需要注意的是,兩者互轉皆為共用記憶體位置! <%%KEEPWHITESPACE%%> // Mat to IplImage <%%KEEPWHITESPACE%%> //cv::Mat mat; <%%KEEPWHITESPACE%%> //IplImage *img = IplImage(mat); <%%KEEPWHITESPACE%%> cv::imshow("PowenKo.com IplImage to Mat Result", mat) ; <%%KEEPWHITESPACE%%> cv::waitKey() ; <%%KEEPWHITESPACE%%> return 0; }