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's convert 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

branch.io 旅程横幅以编程方式关闭

如何使用 Python 或其他语言以编程方式格式化打印机文档? [关闭]

可以以编程方式创建电子书吗? [关闭]

以编程方式关闭烧瓶套接字 io 服务器

如何以编程方式设置 UIView 的自动调整大小掩码?

调整大小后使用自动布局以编程方式居中 UIImageVIew