OpenCV中cvResize函数图象放缩

图像大小变换

  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 -  立方差值.
函数  cvResize 将图像  src 改变尺寸得到与  dst 同样大小。若设定ROI,函数将按常规支持 ROI.
 
实例代码:

  1. #include <stdio.h>  
  2. #include <cv.h>  
  3. #include <cxcore.h>  
  4. #include <highgui.h>  
  5.   
  6. #pragma comment(lib, "cv.lib")  
  7. #pragma comment(lib, "cxcore.lib")  
  8. #pragma comment(lib, "highgui.lib")  
  9.   
  10. int main(int argc,char **argv)  
  11. {  
  12.     IplImage *src = cvLoadImage("test.png");  
  13.     IplImage *desc;  
  14.     CvSize sz;  
  15.     double scale = 0.5;  
  16.     if(src)  
  17.     {  
  18.         sz.width = src->width*scale;  
  19.         sz.height = src->height*scale;  
  20.         desc = cvCreateImage(sz,src->depth,src->nChannels);  
  21.         cvResize(src,desc,CV_INTER_CUBIC);  
  22.         cvNamedWindow("src",CV_WINDOW_AUTOSIZE);  
  23.         cvNamedWindow("desc",CV_WINDOW_AUTOSIZE);  
  24.         cvShowImage("src",src);  
  25.         cvShowImage("desc",desc);  
  26.         cvWaitKey(0);  
  27.   
  28.         cvReleaseImage(&src);  
  29.         cvReleaseImage(&desc);  
  30.         cvDestroyWindow("src");  
  31.         cvDestroyWindow("desc");  
  32.         return 0;  
  33.     }  
  34.     return -1;  
  35. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值