我有很多不同大小的图片,从1100x200到100x20。现在,我想把所有这些图片调整到一个同等大小的正方形(例如256x256)。
我想调整像这样的图片的大小。
我想得到一个新的正方形图像,就像这个。
我试过这段代码
from PIL import Image, ImageOps
original_image = Image.open(r"path\to\images\*.png")
size = (256, 256)
fit_and_resized_image = ImageOps.fit(original_image, size, Image.ANTIALIAS)
我没有得到所需的正方形图像,而是得到了一个像这样的图像。
不幸的是,这是一个被裁剪过的图像,而不是我想要的图像类型。
如果你要做大量的图像处理,OpenCV是一个很好的选择。
import cv2
img = cv2.imread('path/to/file.png')
print (img.shape)
size = (256, 256)
img2 = cv2.resize(img, size)
print (img2.shape) # (256, 256)
cv2.imshow('img1', img)
cv2.imshow('img2', img2)
cv2.waitKey(0)
cv2.destroyAllWindows()
使用 缩略图
from PIL import Image
original_image = Image.open(r"path\to\images\*.png")
size = (256, 256)
original_image.thumbnail(size, Image.ANTIALIAS)