一、主要函数介绍
1.1 Resize
函数功能:图像大小变换
函数原型:
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.
二、示例程序代码
- #include "opencv/cv.h"
- #include "opencv/highgui.h"
-
- int main(int argc,char** argv)
- {
-
- double fScale = 0.314;
- CvSize dst_imageSize;
-
-
- IplImage* src_image = cvLoadImage(argv[1]);
- IplImage* dst_image = NULL;
-
-
- dst_imageSize.width = src_image->width * fScale;
- dst_imageSize.height = src_image->height * fScale;
-
-
- dst_image = cvCreateImage(dst_imageSize,src_image->depth,src_image->nChannels);
- cvResize(src_image,dst_image,CV_INTER_AREA);
-
-
- cvNamedWindow("src_image",1);
- cvNamedWindow("dst_image",1);
-
-
- cvShowImage("src_image",src_image);
- cvShowImage("dst_image",dst_image);
-
-
- while((cvWaitKey(0) != 27)){
- }
-
-
- cvSaveImage("dst_image.jpg",dst_image);
-
-
- cvDestroyWindow("src_image");
- cvDestroyWindow("dst_image");
- cvReleaseImage(&src_image);
- cvReleaseImage(&dst_image);
-
- return 0;
- }