当任一侧大于 1280 时,使用 Python 调整图像大小
Using Python to Resize Images when Greater than 1280 on either side
我想使用 Python 根据以下 2 个条件调整任何图像的大小。
1) 如果图像是横向的,获取宽度,如果大于 1280
将图像宽度调整为 1280 保持宽高比。
2) 如果图像是纵向的,获取高度,如果大于1280
将高度调整为 1280 保持纵横比。
在 Python 中,最好的 package/approach 是什么?不知道该用什么,这就是我看到它的工作方式。
伪代码:
If image.height > image.width:
size = image.height
If image.height < image.width:
size = image.width
If size > 1280:
resize maintaining aspect ratio
我在看 Pillow
(PIL)。
你可以通过 PIL 来完成,就像这样:
import Image
MAX_SIZE = 1280
image = Image.open(image_path)
original_size = max(image.size[0], image.size[1])
if original_size >= MAX_SIZE:
resized_file = open(image_path.split('.')[0] + '_resized.jpg', "w")
if (image.size[0] > image.size[1]):
resized_width = MAX_SIZE
resized_height = int(round((MAX_SIZE/float(image.size[0]))*image.size[1]))
else:
resized_height = MAX_SIZE
resized_width = int(round((MAX_SIZE/float(image.size[1]))*image.size[0]))
image = image.resize((resized_width, resized_height), Image.ANTIALIAS)
image.save(resized_file, 'JPEG')
此外,您可以删除原始图像并重命名调整大小。
我想使用 Python 根据以下 2 个条件调整任何图像的大小。
1) 如果图像是横向的,获取宽度,如果大于 1280
将图像宽度调整为 1280 保持宽高比。
2) 如果图像是纵向的,获取高度,如果大于1280
将高度调整为 1280 保持纵横比。
在 Python 中,最好的 package/approach 是什么?不知道该用什么,这就是我看到它的工作方式。
伪代码:
If image.height > image.width:
size = image.height
If image.height < image.width:
size = image.width
If size > 1280:
resize maintaining aspect ratio
我在看 Pillow
(PIL)。
你可以通过 PIL 来完成,就像这样:
import Image
MAX_SIZE = 1280
image = Image.open(image_path)
original_size = max(image.size[0], image.size[1])
if original_size >= MAX_SIZE:
resized_file = open(image_path.split('.')[0] + '_resized.jpg', "w")
if (image.size[0] > image.size[1]):
resized_width = MAX_SIZE
resized_height = int(round((MAX_SIZE/float(image.size[0]))*image.size[1]))
else:
resized_height = MAX_SIZE
resized_width = int(round((MAX_SIZE/float(image.size[1]))*image.size[0]))
image = image.resize((resized_width, resized_height), Image.ANTIALIAS)
image.save(resized_file, 'JPEG')
此外,您可以删除原始图像并重命名调整大小。