opencv:图像缩放函数resize

其函数原型如下:

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查看详细信息,可选的插值方式如下:
  • 这里写图片描述

猜你喜欢

转载自blog.csdn.net/weixin_39608351/article/details/81910430