图像的缩放主要用于改变图像的大小,缩放后图像的图像的宽度和高度会发生变化。
在图像处理中是一种很基础的几何变换,但是具有很重要的作用,比如:当输入图片尺寸过大时,处理速度会很慢,适当的缩小图像可以在不影响处理效果的同时有效提高代码执行速度。
opencv提供了resize函数实现图片缩放功能,函数原型为:
CV_EXPORTS_W void resize(
InputArray src,
OutputArray dst,
Size dsize,
double fx=0,
double fy=0,
int interpolation=INTER_LINEAR );
其中:
第一个参数为输入图像
第二个参数为输出图像
第三个参数为输出图像和输入图像尺寸(包含长宽)
第四个参数为输出图像和输入图像水平方向上的比例
第五个参数为输出图像和输入图像垂直方向上的比例
第六个参数为插值方法:
INTER_NEAREST - 最近邻插值,
INTER_LINEAR - 双线性插值 (缺省使用)
INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法…
INTER_CUBIC - 立方插值.
INTER_LANCZOS–兰索斯插值
需要注意的是:
1)dsize是输出图像的大小,dsize = Size(width, height) ;如果设置为0,则dsize = Size(round(fxsrc.cols), round(fysrc.rows))。
2)fxÿ