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 "highgui.h"
#include "cv.h"
void doResize(IplImage* img)
{
IplImage* dst = cvCreateImage(
cvSize(img->width/2, img->height/2),
img->depth,
img->nChannels
);
cvResize(img, dst,CV_INTER_NN);
cvNamedWindow("dst");
cvShowImage("dst",dst);
cvReleaseImage(&dst);
cvWaitKey(0);
cvDestroyWindow("dst");
}
结果: