OpenCv cvResize()

Via  雪后DE阳光

图像大小变换
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 "highgui.h"
 2 #include "cv.h"
 3 #include "cxcore.h"
 4 #include <stdlib.h>
 5 #include <stdio.h>
 6 int main(int argc,char **argv)
 7 {
 8     IplImage *src;
 9     IplImage *desc;
10     CvSize sz;
11     double scale = 0.5;
12 
13     
14         src = cvLoadImage("Lena.jpg");
15         sz.width = src->width*scale;
16         sz.height = src->height*scale;
17         desc = cvCreateImage(sz,src->depth,src->nChannels);
18         cvResize(src,desc, CV_INTER_AREA );
19         cvNamedWindow("src",CV_WINDOW_AUTOSIZE);
20         cvNamedWindow("desc",CV_WINDOW_AUTOSIZE);
21         cvShowImage("src",src);
22         cvShowImage("desc",desc);
23         cvWaitKey(0);
24 
25         cvReleaseImage(&src);
26         cvReleaseImage(&desc);
27         cvDestroyWindow("src");
28         cvDestroyWindow("desc");
29     
30     
31     return 0;
32 }
resize

 

posted @ 2016-08-12 11:07  Henry2017  阅读(895)  评论(0编辑  收藏  举报