openCv筆記--IPLImage和Mat的resize

IplImage圖像大小變換

  1. void cvResize( const CvArr* src, CvArr* dst, int interpolation=CV_INTER_LINEAR );  

src:輸入圖像. 
dst:輸出圖像. 
interpolation:差值方法: 
• CV_INTER_NN - 最近鄰差值, 
• CV_INTER_LINEAR -  雙線性差值 (缺省使用) 
• CV_INTER_AREA -  使用象素關係重採樣。當圖像縮小時候,該方法可以避免波紋出現。當圖像放大時,類似於  CV_INTER_NN  方法.. 
• CV_INTER_CUBIC -  立方差值. 

  1.     IplImage *src = cvLoadImage("test.png");  
  2.     IplImage *desc;  
  3.     CvSize sz;  
  4.     if(src)  
  5.     {  
  6.         sz.width = src->width*scale;  
  7.         sz.height = src->height*scale;  
  8.         desc = cvCreateImage(sz,src->depth,src->nChannels);  
  9.         cvResize(src,desc,CV_INTER_CUBIC);  
  10.         cvNamedWindow("desc",CV_WINDOW_AUTOSIZE);  
  11.         cvShowImage("desc",desc);  
  12.         cvWaitKey(0);  
  13.     }  

 

Mat圖像大小變換

  1. //resize(image, image2,dsize);從代碼中很容易看出這個resize的函數的用法了,第一個參數就是輸入原始圖像Mat格式,第二個參數就是輸出新圖像Mat格式,第三個參數就是圖像的大小了 
  2. cv::Mat dst;
  3. cv::resize(newsrcImage, dst, cv::Size(dstBbox(0, 2), dstBbox(0, 3)));
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章