Opencv中cvResize的使用

2018-02-10  本文已影响0人  大梦一场三十一

使用opencv库中的cvResize函数
功能:函数cvResize 重新调整图像src(或它的ROI),使它精确匹配目标dst(或其ROI)。

(void)  cvResize( const CvArr* src, CvArr* dst,
                       int interpolation CV_DEFAULT( CV_INTER_LINEAR ));

src:输入图像.
dst:输出图像.
interpolation:差值方法:
• CV_INTER_NN - 最近邻插值,
• CV_INTER_LINEAR - 双线性插值 (默认的方法)
• CV_INTER_AREA - 使用像素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
• CV_INTER_CUBIC - 立方插值(双三次插值
函数 cvResize 将图像 src 改变尺寸得到与 dst 同样大小。若设定ROI,函数将按常规支持 ROI.

代码实例:

#include <iostream>  
#include <cv.h>  
#include <highgui.h>  
  
using namespace std;  
 int main()  
 {  
     IplImage* imag=cvLoadImage("1.jpg",1);  
     if(imag==0)  
         return -1;  
     float scal=0.68;   //缩放倍数为0.68倍   
       
     CvSize dec_size;  
     dec_size.height=cvGetSize(imag).height*scal;  
     dec_size.width=cvGetSize(imag).width*scal;  
     IplImage* dec=cvCreateImage(dec_size,imag->depth,imag->nChannels);  
       
     cvResize(imag,dec,1);  
     cvNamedWindow("cvResize",1);  
     cvNamedWindow("source",1);  
     cvShowImage("cvResize",dec);  
     cvShowImage("source",imag);  
     cvWaitKey(0);  
  
     cvReleaseImage(&imag);  
     cvReleaseImage(&dec);  
     cvDestroyWindow("cvResize");  
     cvDestroyWindow("source");  
     return 0;  
  
  
  
 }  


上一篇下一篇

猜你喜欢

热点阅读