image = cv2.resize(src, dsize, dst=None, fx=None, fy=None, interpolation=None)
cv2.resize函数将图像src的大小调整为指定大小。
src:源图像
dst:目标图像。dst图像与src图像的类型相同。
dsize:目标图像的大小。当dsize不是(0,0)时,输出图像(image)的大小为dsize的大小。
例如:
img = cv2.imread('02.png')
shape = img.shape
print(shape) # (467, 892, 3)
img_2 = cv2.resize(img, dsize=(500, 500), dst=None, fx=2, fy=2, interpolation=cv2.INTER_NEAREST)
print(img_2.shape) # (500, 500, 3)
这个时候不论fx、fy等于多少,输出图片的大小都是(500,500)
当dsize是(0,0)时或dsize=None,输出图像(image)的大小可以通过如下式子计算:
dsize = Size(round(fx*src.cols), round(fy*src.rows))
例如:
img = cv2.imread('02.png')
shape = img.shape
print(shape) # (467, 892, 3)
img_2 = cv2.resize(img, dsize=None, dst=None, fx=2, fy=1, interpolation=cv2.INTER_NEAREST)
print(img_2.shape) # (467, 1784, 3)
fx :水平轴上的比例因子。即是图像的行的大小乘以2,这里为892*2=1784
fy :竖直轴上的比例因子。即是图像的列的大小乘以2,这里为467*1=467
print(shape)输出的大小(467,892),其中467表示图像的高,即图像的列,892表示图像的宽,即图像的行。
特别注意:参数dsize和参数fx,、fy不能够同时为0
Interpolation:插值方法