将图像调整为正方形

问题描述 投票:0回答:1

我有很多不同大小的图片,从1100x200到100x20。现在,我想把所有这些图片调整到一个同等大小的正方形(例如256x256)。

我想调整像这样的图片的大小。

original

我想得到一个新的正方形图像,就像这个。

square

我试过这段代码

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)

我没有得到所需的正方形图像,而是得到了一个像这样的图像。

square

不幸的是,这是一个被裁剪过的图像,而不是我想要的图像类型。

python image resize python-imaging-library
1个回答
2
投票

如果你要做大量的图像处理,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()

2
投票

使用 缩略图

from PIL import Image
original_image = Image.open(r"path\to\images\*.png")
size = (256, 256)
original_image.thumbnail(size, Image.ANTIALIAS)
© www.soinside.com 2019 - 2024. All rights reserved.