2013-02-21 92 views
3

我在图片中有一个红色像素的多维数组。我正在调整它以使用我已更改的新红色像素拍摄新照片。我仍然保持蓝色和绿色,我没有改变这些。当我打印出红色像素,看看它们是否保存完之后,我保存了新的图像,一切都正确 直到我实际检查新图像时,通过打开并显示红色值表示这些值是错误的。 继承人的代码:已保存图片的红色像素值不正确Python

from PIL import Image 
import numpy as np 

picture = Image.open('flower.jpg') 
red, green, blue = np.array(picture).T 
print red 
picture.save('output.jpg') 

第一个print语句图像的红色像素的输出:

[[112 114 111 ..., 12 13 7] 
[111 112 112 ..., 13 15 11] 
[111 110 110 ..., 12 17 17] 
    ..., 
[181 180 180 ..., 25 17 11] 
[180 181 182 ..., 18 14 9] 
[179 179 179 ..., 13 14 15]] 
+0

我不确定,但问题可能与转置有关(太多次或在错误的地方进行)。 – 2013-02-21 18:59:09

回答

4

JPEG由PIL保存的总是会有所损失。

+0

所以你会建议保存图片谢谢 – 2013-02-21 19:06:36

+1

使用.png格式 – 2013-02-21 19:06:53

+0

哇,实际工作我不能相信这是这么简单我的善良非常感谢你上帝保佑你的一切 – 2013-02-21 19:11:31