1
>>> from PIL import Image
>>> im = Image.open("E:\\aaa.jpeg")
>>> color = im.getpixel((100,100))
>>> print  color
   (235, 229, 205)
>>> im.putpixel((100,100),(1,1,1))
>>> im.save("E:\\new.jpeg")
>>> im=Image.open("E:\\new.jpeg")
>>> color=im.getpixel((100,100))
>>> print color
   (8, 1, 0)

该值应该是(1,1,1)......但它显示(8,1,0)

4

1 回答 1

1

JPEG 是一种有损格式。

保存时,您的像素数据会使用不保留精确像素信息的算法进行压缩。在读取和解压缩该数据时,无法保证特定像素仍将具有完全相同的颜色值。(8, 1, 0)就JPEG压缩而言,足够接近。

如果这对您的应用程序很重要,请使用与 PNG 完全相同的保存像素数据的不同格式。

于 2013-06-26T14:17:13.060 回答