我正在使用 im.load()
获取 ORIGINAL_IMAGE 的像素。随后,我保存它
我看到保存的和我想保存的不一样-
这是突出显示我的问题的代码片段和输出 -
片段:
im = Image.open(ORIGINAL_IMAGE)
dup_im = im.copy()
pix = dup_im.load()
dup_im.save(DUP_IMAGE)
saved_im = Image.open(DUP_IMAGE)
saved_pix = saved_im.load()
for i in range(10):
print pix[0, i], " : ", saved_pix[0, i]
打印输出 -
保存前:保存后
$ python test.py
162 : 162
162 : 162
162 : 163
162 : 163
162 : 163
164 : 162
160 : 161
159 : 160
155 : 153
155 : 155
$
有关我的 Python 版本的详细信息 -
$ python
Python 2.6.1 (r261:67515, Jun 24 2010, 21:47:49)
[GCC 4.2.1 (Apple Inc. build 5646)] on darwin
知道为什么这两个字段(保存前后的像素)不一样吗?
最佳答案
我可以在加载 JPG 并将其再次保存为 JPG 时重新创建它。虽然将其保存为位图时像素数据是相等的。由于 JPG 是一种有损图像格式,保存会导致重新编码,从而改变像素数据。
关于python - 在 PIL python 中查询 im.save,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4914764/