本文主要涉及PIL.Image、cv2(即opencv-python)图像resize时传入参数。
主要核心在于两个模块传入的新size参数为(newWidth, newHeight),宽度在前,高度在后。
##【sample】
将各种图像类型转换为numpy.ndarray类型,使用numpy模块输出图像尺寸:
numpy模块中shape返回为(高度,宽度)
import numpy as np
import cv2
from PIL import Image
# 创建一个100行200列图像
height = 100 # rows
width = 200 # cols
img = np.zeros((height, width))
img.shape # ==> (100, 200)
# 使用cv2进行resize为50行100列图像
img_cv2_resize = cv2.resize(img, (100, 50)) # (新宽度,新高度)
img_cv2_resize.shape # ==> (50, 100)
# 使用PIL.Image进行resize为50行100列图像
img_pil = Image.fromarray(img) # 首先转换为 PIL.Image类型
img_pil_resize = img_pil.resize((100, 50)) # (新宽度,新高度)
np.array(img_pil_resize).shape # ==> (50, 100)