函数原型
void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )
各个参数的意义比较直观,但是需要注意的是dsize与fx和fy必须不能同时为零,也就是说要么dsize不为零而fx与fy同时可以为0,要么dsize为0而fx与fy不同时为0;resize函数的目标大小可以是任意的大小,可以不保持长宽比率,删除的像素或者新增的像素值通过interpolation(内插)控制;
update:fx,fy分别指水平和垂直方向的比率;如果dsize 为零,则目标图像的大小是通过这两个参数来计算的:目标图像的宽度为原图像的宽度*fx,同理目标图像的高度为原图像的高度*fy;
如果dsize不为零,fx,fy会自动计算:fx=dsize.width/src.cols;fy=dsize.height/src.rows;
void ResizeDemo()
{
Mat img1=imread("person_org.jpg");
Mat img2;
//将原图像变为32*32,长宽比被改变了
resize(img1,img2,Size(32,32),0,0,CV_INTER_LINEAR);
namedWindow("WindowOrg");
namedWindow("WindowNew");
imshow("WindowOrg",img1);
imshow("WindowNew",img2);
waitKey(10000);