用Python压缩图像(无存档)

Eri*_*ric 2 python compression image archive

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

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

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

Rei*_*ica 7

您可能想要查看Python图像库(PIL)以及PNGJPEG格式.

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

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

JPEG - 有损,适用于照片,有很多"继续"的图像.


Jon*_*ric 5

像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)
Run Code Online (Sandbox Code Playgroud)