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 に答える