其函数原型如下:
void cv::resize ( InputArray src,
OutputArray dst,
Size dsize,
double fx = 0,
double fy = 0,
int interpolation = INTER_LINEAR
)
参数解释:
. InputArray src: 输入图像,可以是Mat类型
. OutputArray dst: 输出图像,其尺寸由第三个参数dsize(如果dsize不为0),当dsize为0,输出图像的尺寸由src.size()、fx和fy计算得到,但是输出图像类型与输入图像一致
. Size dsize: 输出图像的尺寸,如果dsize设置为0,则dsize的值将由下式计算得到
dsize=Size(round(fx*src.cols), round(fy*src.rows))
- dsize和fx、fy不能同时为0
. double fx = 0: 水平方向上的缩放系数,当fx为0时,将由如下公式计算得到
(double)dsize.width/src.cols
- double fy = 0: 垂直方向上的缩放系数,如果fy为0,将由如下公式计算得到
(double)dsize.height/src.rows
- int interpolation=INTER_LINEAR: 图像缩放的插值算法类型,默认是INTER_LINEAR(线性插值),在opencv3.2中通过查看InterpolationFlags查看详细信息,可选的插值方式如下: