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;
}
