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 }