2012-05-08 43 views
5

我使用下面的代碼使用PIL調整圖片大小改變顏色大幅

img = Image.open("in.png") 
resized = ImageOps.fit(img, (200, 200), method=Image.ANTIALIAS) 
resized.save("out.png") 

但輸出圖像的顏色看起來非常不同來調整圖像大小。在這裏,他們正在做比較,大的一個是原:

enter image description here enter image description here

什麼是更奇怪的是,當我在Ubuntu圖像查看器打開它們,它們看起來是一樣的。但不在Windows或MacOS中。

+1

顏色在這裏看起來和我一樣。這是與Python 2.x?如果以其他圖像格式(例如jpg)進行此操作,您是否遇到同樣的問題 – Levon

+1

@Levon:右側的圖像較亮且較紅。沒有有效的色彩校正系統,你將無法辨別。 –

回答

3

較大的圖像正在使用Adobe RGB顏色配置文件。它從較小的圖像中被省略,這意味着色彩校正系統將使用一些默認(可能是sRGB),其可能具有較小的色域。這會導致顏色變暗。

解決方案1:使用sRGB而不是Adobe RGB創建原始圖像。

解決方案2:將顏色配置文件從較大的圖像複製到較小的圖像。

大多數Linux系統不支持顏色校正,至少不在OS X或Windows的範圍內。因此,它們在Ubuntu的圖像查看器中看起來是一樣的,這實際上是圖像查看器程序的一個限制,它無法理解顏色配置文件。

+0

很酷,謝謝!關於如何將顏色配置文件從一個圖像複製到另一個圖像的任何想法? –

+0

我不知道。 –

+0

我將原始圖像更改爲sRGB並且工作正常! :D –