Python:以编程方式调整.jpgs的大小

Python: Programmatically resize .jpgs

本文关键字:jpgs 调整 方式 编程 Python      更新时间:2023-10-16

我有一个文件夹,里面有大小超过2MB的.jpgs文件。我需要把它们上传到网站上,但它们太大了,无法在网站上显示。

有没有一种方法可以在Python&或者减少python中jpg的文件大小。

也许有一个原生的python库可以处理位图&或者jpegs,或者可能有第三方库来做这件事

附言:我也懂Java;C++,在这些语言中有任何函数(或第三方库)可以做到这一点吗?

没有比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')

这将解决问题,用新的大小覆盖所有文件:

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)