Python:以编程方式调整 .jpgs [关闭]
Posted
技术标签:
【中文标题】Python:以编程方式调整 .jpgs [关闭]【英文标题】:Python: Programmatically resize .jpgs [closed] 【发布时间】:2011-06-09 00:52:55 【问题描述】:我有一个大小超过 2MB 的 .jpgs 文件文件夹。我需要将它们上传到网站,但它们太大而无法在网站上显示。
有没有办法在 Python 中调整实际图像的大小和/或减小 Python 中 jpg 的文件大小。
也许有一个本地 python 库可以处理位图和/或 jpegs,或者也许有第三方库可以做到这一点?
PS:我也知道 Java 和 C++,这些语言中是否有任何函数(或第三方库)可以做到这一点?
【问题讨论】:
如果您只想解决问题,ImageMagick'sconvert
command 让这种操作变得非常简单。如果您想享受编程的乐趣,Python's PIL 是一个不错的起点。
【参考方案1】:
使用PIL 再简单不过了:
from PIL import Image
size = 300, 300
im = Image.open('image.jpg')
im.thumbnail(size, Image.ANTIALIAS) # thumbnail maintains aspect ratio
im.save('image_resized.jpg')
【讨论】:
+1 用于 PIL,唯一不好的是目前还没有 Python 3 支持 是的,PIL 非常关键。我已经看到了它到 Python 3.x 的一些端口,但不知道它们的工作情况如何。希望尽快获得官方 Python 3.x 支持。 检查枕头。它是 PIL 的一个分支,具有更好的封装......现在它支持 Python 3。pypi.python.org/pypi/Pillow/2.0.0【参考方案2】:这将解决问题,用新大小覆盖所有文件:
import cv2
import os
size=50
folder='/home/user/anaconda3/images'
for filename in os.listdir(folder):
img = cv2.imread(os.path.join(folder,filename), cv2.IMREAD_GRAYSCALE)
img2=cv2.resize(img,(size,size))
cv2.imwrite('/home/user/anaconda3/images/'+filename,img2)
【讨论】:
以上是关于Python:以编程方式调整 .jpgs [关闭]的主要内容,如果未能解决你的问题,请参考以下文章