1

我正在开发一个程序,在该程序中我打开一个图像文件(jpg),编辑一些像素,并用一个新的文件名保存图像。然而,似乎即使我没有编辑任何像素,它们仍在被改变。这是我写的一个快速示例。我所做的只是打开一个图像并用不同的名称保存它。

import Image

img1 = Image.open('image.jpg')
print img1.getpixel((0,0))
img1.save('testimage.jpg')

img2 = Image.open('testimage.jpg')
print img2.getpixel((0,0))

第一个打印语句的输出是 (253,254,248),第二个输出是 (253,251,255)。如果我对图像完全不做任何事情,为什么绿色和蓝色值会发生变化?

4

1 回答 1

2

JPEG 是有损的:保存 JPEG 可能会导致质量损失,从而改变像素。如果您想在不(进一步)损失质量的情况下进行编辑,请另存为.png或其他无损格式。

于 2012-09-28T04:37:04.327 回答