OpenCV函数
cv2.resize()
resize(InputArray src, OutputArray dst, Size dsize,
double fx=0, double fy=0, int interpolation=INTER_LINEAR )
resize是opencv库中的一个函数,主要起到对图片进行缩放的作用。
InputArray src :输入,原图像,即待改变大小的图像;
OutputArray dst: 输出,改变后的图像。这个图像和原图像具有相同的内容,只是大小和原图像不一样而已;
dsize:输出图像的大小,如上面例子(300,300)。
其中,fx和fy就是下面要说的两个参数,是图像width方向和height方向的缩放比例。
fx:width方向的缩放比例
fy:height方向的缩放比例
interpolation(插值):这个是指定插值的方式,图像缩放之后,肯定像素要进行重新计算的,就靠这个参数来指定重新计算像素的方式,有以下几种:
interpolation 选项 | 插值方式 |
---|---|
cv2.INTER_NEAREST | 最近邻插值 |
cv2.INTER_LINEAR | 双线性插值(默认) |
cv2.INTER_AREA | 使用像素区域关系进行重采样。 |
cv2.INTER_CUBIC | 4x4像素邻域的双3次插值 |
cv2.INTER_LANCZOS4 | 8x8像素邻域的Lanczos插值 |
如果要缩小图像,建议选择:cv2.INTER_AREA;如果要放大图像,cv2.INTER_CUBIC效果更好但是速度慢,cv2.INTER_LINEAR效果尚可且速度快。进行缩放时, dsize和fx、fy 二选一即可。