原文链接:https://blog.csdn.net/li_l_il/article/details/83218838
OpenCV函数原型:
cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)
参数解释:
InputArray src | 输入图片 |
OutputArray dst | 输出图片 |
Size | 输出图片尺寸 |
fx, fy | 沿x轴,y轴的缩放系数 |
interpolation | 插入方式 |
interpolation 选项所用的插值方法:
INTER_NEAREST | 最近邻插值 |
INTER_LINEAR | 双线性插值(默认设置) |
INTER_AREA | 使用像素区域关系进行重采样。 |
INTER_CUBIC | 4x4像素邻域的双三次插值 |
INTER_LANCZOS4 | 8x8像素邻域的Lanczos插值 |
注意:
1.输出尺寸格式为(宽,高)
2.默认的插值方法为:双线性插值
代码演示:
-
import cv2
as cv
-
-
# 读入原图片
-
img = cv.imread(
'test.jpg')
-
# 打印出图片尺寸
-
print(img.shape)
-
# 将图片高和宽分别赋值给x,y
-
x, y = img.shape[
0:
2]
-
-
# 显示原图
-
cv.imshow(
'OriginalPicture', img)
-
-
# 缩放到原来的二分之一,输出尺寸格式为(宽,高)
-
img_test1 = cv.resize(img, (int(y /
2), int(x /
2)))
-
cv.imshow(
'resize0', img_test1)
-
cv.waitKey()
-
-
# 最近邻插值法缩放
-
# 缩放到原来的四分之一
-
img_test2 = cv.resize(img, (
0,
0), fx=
0.25, fy=
0.25, interpolation=cv.INTER_NEAREST)
-
cv.imshow(
'resize1', img_test2)
-
cv.waitKey()
-
cv.destroyAllWindows()