python - 为什么PIL保存的图像与原始图像的md5和不同

标签 python computer-vision python-imaging-library jpeg

假设我有一个图像 pic.jpg。我读取图像然后保存它。

from PIL import Image
im = Image.open('pic.jpg')
im.save('pic1.jpg', 'jpeg')

两张图片的md5和不同:

$ md5sum pic.jpg
3191102e44fa5ebbb2aa52e042066dad
$ md5sum pic1.jpg
a6b17e3af3ff66715a2326db33548d11

如果我读取然后用 PIL 保存,我仍然拥有原始图像吗?

最佳答案

经过一番比较,似乎 PIL 重新压缩了图像(所有二进制数据都不相同),标题也发生了变化(对我来说,Adobe 标题、标题和作者在这里但消失了)。
如果您愿意进行一些比较,您可以这样做:

xxd pic.jpg > pic.hex
xxd pic1.jpg > pic1.hex
diff pic.hex pic1.hex

关于python - 为什么PIL保存的图像与原始图像的md5和不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55758697/

相关文章:

Python 数据帧操作

python - 使 Sphinx 在 PDF 输出中生成未分类的代码块

matlab - Camera Calibration Intrinsic Matrix 值代表什么?

python - 如何删除从文档中获取的图像的边框(如 MNIST 手写字符)?

python - PIL python,许可和分发

python - 使用 python 从文件夹中一张一张打开图像?

python - 如何将 dunder 方法 monkeypatch 到现有实例?

image-manipulation - 2D 图像中 "filling in"纹理的算法

python - 将图像保存在base64 django Rest框架中

python - 断言错误 : negative sum of square deviations