尺寸调整:
一、函数定义:
void cvResize(
const CvArr* src,
CvArr* dst,
int interplotation=CV_INTER_LINEAR);
插值方法interplotation:
CV_INTER_NN 最邻近插值
CV_INTER_LINEAR 线性插值
CV_INTER_AREA 区域插值
CV_INTER_CUBIC 三次样条插值
二、例程:
// WIN7+VS2012+OPENCV2.4.9
#include"cv.h"
#include"highgui.h"
//void cvResize(
// const CvArr* src,
// CvArr* dst,
// int interplotation=CV_INTER_LINEAR);
int main(int argc,char** argv)
{
IplImage* source=cvLoadImage(argv[1]);
if(source==NULL)
{
printf("Invalid image !\n");
return 1;
}
cvNamedWindow("source",CV_WINDOW_AUTOSIZE);
cvShowImage("source",source);
cvNamedWindow("ZoomIn",CV_WINDOW_AUTOSIZE);
cvNamedWindow("ZoomOut",CV_WINDOW_AUTOSIZE);
IplImage* dest1=cvCreateImage(cvSize(cvGetSize(source).height/2,cvGetSize(source).width/2),8,3);
IplImage* dest2=cvCreateImage(cvSize(cvGetSize(source).height*2,cvGetSize(source).width*2),8,3);
cvResize(source,dest1,CV_INTER_LINEAR);
cvResize(source,dest2,CV_INTER_NN);
cvShowImage("ZoomIn",dest1);
cvShowImage("ZoomOut",dest2);
//free
cvWaitKey(0);
cvReleaseImage(&source);
cvReleaseImage(&dest1);
cvReleaseImage(&dest2);
cvDestroyAllWindows();
return 0;
}
三、运行结果: