PIL cambia el valor de píxel al guardar

Esto es tan simple como se pone. Hacer imagen RGB, un píxel grande. Establezca el valor de píxel en (a, b, c). Salvar. El problema es que la imagen guardada tiene un valor de píxel diferente (a, b, c). Generalmente, con + -1 en uno de los canales, como si fuera ruido aleatorio, pero es consistente. Aquí está el código:

from PIL import Image
newImg = Image.new('RGB', (1,1), "black")
pixels = newImg.load()
pixels[0,0] = (0,3,0)
newImg.save("point.jpg")
savedImage = Image.open("point.jpg")
pixelsSaved = savedImage.load()

print pixels[0,0]
print pixelsSaved[0,0]

La salida de esto es: (0, 3, 0) (1, 3, 0)

consecuentemente.

Si utilizo (4, 2, 0) como píxel para guardar, la salida es: (4, 2, 0) (3, 2, 0)

y (0,10,0) da: (0, 10, 0) (0, 10, 1)

por ejemplo.

¿Por qué cambia el valor al guardar? ¿Cómo lo prevengo? Por favor ayuda.

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta