cv2.resize()

195 阅读1分钟

函数原型:

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_CUBIC4x4像素邻域的双三次插值
INTER_LANCZOS48x8像素邻域的Lanczos插值

注意:

  1. 输出尺寸格式为(宽,高)
    • 这个我们读入的数据格式是(h,w,c) 但是要注意这里我们指定size的时候是(w,h)
  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)))   # y,x注意顺序
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()