图像缩放
图像缩放只是调整图像的大小,为此, OpenCV 为我们提供了一个函数 cv.resize() ,原函数如下:
resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)
src 表示的是输入图像,而 dsize 代表的是输出图像的大小,如果为 0 ,则:
$$\texttt{dsize = Size(round(fx src.cols), round(fy src.rows))}$$
dsize 和 fx 、 fy 不能同时为 0 。
fx 、 fy 是沿 x 轴和 y 轴的缩放系数,默认取 0 时,算法如下:
$$\texttt{fx=(double)dsize.width/src.cols}$$
$$\texttt{fy=(double)dsize.height/src.rows}$$
最后一个参数 interpolation 表示插值方式:
- INTER_NEAREST - 最近邻插值
- INTER_LINEAR - 线性插值(默认)
- INTER_AREA - 区域插值
- INTER_CUBIC - 三次样条插值
- INTER_LANCZOS4 - Lanczos插值
看一个简单的示例:
import cv2 as cv #读取图片 src = cv.imread('maliao.jpg') print(src.shape) #图像缩放 result = cv.resize(src, (300, 150)) print(result.shape) #显示图像 cv.imshow("src