繁体   English   中英

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

[英]Python PIL image crop increases file size

我正在尝试通过 PIL Image.crop()裁剪图像。 图像裁剪得很好,但文件大小从 211 kB 增加到 24 MB。 什么文件大小增加了这么多?

这是我正在使用的代码:

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)
        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))
            imCrop.save(f + 'Crop.jpg', "BMP", quality=50, optimize=True)
            print(imCrop.size)
            
crop()

这是我要裁剪的图像:

示例图像

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM