Python PIL图像裁剪增加了文件大小

2024-09-24 02:20:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图通过PIL python裁剪来裁剪图像,图像裁剪得很好,但文件大小从211kb增加到24mb。不知道为什么

下面是代码

from PIL import Image
import os.path, sys

path = "\\PythonPlot\\plot\\images"
dirs = os.listdir(path)
def crop():
for item in dirs:
    fullpath = os.path.join(path,item)         #corrected
    if os.path.isfile(fullpath):
        im = Image.open(fullpath)
        print(im.size)
        f, e = os.path.splitext(fullpath)
        imCrop = im.crop((500, 300, 4000, 2100)) #corrected
        imCrop.save(f + 'Crop.jpg', "BMP", quality=50,optimize=True)
        print(imCrop.size)
        
 crop()

还将图像附加到裁剪

enter image description here


Tags: path图像cropimageimportsizepilos
1条回答
网友
1楼 · 发布于 2024-09-24 02:20:21

看起来您使用的是JPEG文件扩展名,但实际上保存为BMP

imCrop.save(f + 'Crop.jpg', "BMP", quality=50,optimize=True)

BMP不是一种非常有效的格式,但JPEG也不适合这种图像。我建议使用PNG:

imCrop.save(f + 'Crop.png', quality=50, optimize=True)

相关问题 更多 >