【问题标题】:Compress Images in Python (No Archive)在 Python 中压缩图像(无存档)
【发布时间】:2012-06-29 07:46:37
【问题描述】:

我正在编写一个处理图像的 Python 脚本。是否有一个模块可以压缩图像而不将其放入存档中,然后将其解压缩回来? (例如,1MB 的图像现在压缩后为 0.8MB,解压后为 1MB)。

我可以看到不使用档案在 Python 中压缩和解压缩图像的示例代码吗?

我已经看过一些模块,但是那些压缩字符串。

【问题讨论】:

    标签: python image archive compression


    【解决方案1】:

    PNG 和 JPEG 等现代图像格式已经被压缩,我的一般建议是听取 Brendan Long 的建议,使用这些格式并利用所有已投入其中的工作。

    也就是说,如果你想在 Python 中压缩任意文件的内容,这里有一个非常简单的例子:

    import zlib
    
    with open("MyImage.jpg", "rb") as in_file:
        compressed = zlib.compress(in_file.read(), 9)
    
    with open("MyCompressedFile", "wb") as out_file:
        out_file.write(compressed)
    

    【讨论】:

    • 很好的帮助——我只需要一个简单的例子。效果很好,谢谢。
    【解决方案2】:

    您可能想看看Python Image Library (PIL),以及PNGJPEG 格式。

    PIL Image.save() 方法可以让您保存 PNG 或 JPEG 图像。

    PNG - 无损,适用于纯色或少量颜色的“卡通”/徽标图像。

    JPEG - 有损,适合照片、大量“正在进行”的图像。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多