gpt4 book ai didi

python - 如何使用 python 调整图像大小和形状?

转载 作者:行者123 更新时间:2023-12-01 07:11:48 26 4
gpt4 key购买 nike

我想要处理一堆图像 (100+),并且需要保持它们的宽高比(彼此之间有所不同),但将它们的大小调整为最大 1000x1000,最大文件大小为 100kb。

我尝试过“optimize-images”包,但我无法得到我想要的结果,因为我不够具体。我也尝试使用 imageio 调整大小,但大小问题仍然存在。我已经阅读了不同的来源和对类似问题的答复,但没有找到这样做的方法。

import imageio
import os

os.chdir("C:\\Users\\abc123\\Pictures\\Resize")

im = imageio.imread("a.jpg")

small = transform.resize(im, (1000,1000), mode="symmetric", preserve_range=True)

理想情况下,我将使用 walk() 方法查找文件夹中的所有图像,将它们的大小调整为 1000x1000,通过填充最终大小和调整大小的图像之间的差异来保持纵横比,最后应用质量降低 0.8 或 0.75,直到文件大小 =< 100 kb。我意识到我的代码非常基本,但我主要是在寻找如何解决这个问题的方向/灵感。提前致谢!

最佳答案

您可以使用skimage库。

import numpy as np
from skimage import data, color
from skimage.transform import rescale, resize

grayimage = color.rgb2gray(data.astronaut())
image_rescaled = rescale(grayimage, 1.0 / 4.0, anti_aliasing=False, multichannel = False)
image_resized = resize(grayimage, (grayimage.shape[0] / 4, grayimage.shape[1] / 4),
anti_aliasing=True)
plt.imshow(np.hstack([image_rescaled, image_resized]))
plt.title('Rescaled'+ ''.join([" "]*30) +'Resized')
plt.show()

输出:
enter image description here

以减小的文件大小保存图像

为了在将图像保存到文件系统时控制文件大小,您可以使用带有 optimize=Truequality=some_number 的 PIL 库。请参阅此线程:How to reduce the image file size using PIL

引用文献

HowTo: Rescale and Resize using skimage Library

关于python - 如何使用 python 调整图像大小和形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58176648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com