2012-05-08 40 views
5

Aşağıdaki kodu kullanıyorum renkler Resim yeniden boyutlandırma ölçüde

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

Ama çıkış görüntü renkleri çok farklı görünüyor PIL

kullanarak bir resim boyutlandırmak için değiştirir. İşte onlar karşılaştırma için, büyük olan özgün gibidir: Ne bile yabancı var ben ubuntu görüntü görüntüleyici kullanarak açtığınızda, tam olarak aynı olmasıdır

enter image description here enter image description here

. Ancak Windows veya MacOS'ta değil.

+1

Renkler burada bana aynı görünüyor. Bu Python 2.x ile mi? Bunu başka bir görüntü formatıyla (ör. Jpg) yapıyorsanız aynı soruna mı koşuyorsunuz? – Levon

+1

@Levon: Sağdaki görüntü daha parlak ve daha kırmızıdır. Çalışan bir renk düzeltme sistemi olmadan söyleyemezsiniz. –

cevap

3

Büyük resim, Adobe RGB renk profilini kullanıyor. Daha küçük görüntüden çıkarılır, bu da renk düzeltme sisteminin büyük olasılıkla daha küçük bir gamı ​​olan bazı varsayılanları (muhtemelen sRGB) kullanacağı anlamına gelir. Bu, renklerin duller görünmesine neden olur.

Çözüm 1: Orijinal görüntüyü, Adobe RGB yerine sRGB kullanarak oluşturun.

Çözüm 2: Renkli profili daha büyük görüntüden küçük resme kopyalayın.

Çoğu Linux sistemi, en azından OS X veya Windows'un yaptığı kapsamda değil, renk düzeltmeyi desteklemez. Dolayısıyla, Ubuntu'nun resim görüntüleyicide aynı göründükleri gerçekte, renk profillerini anlayamayan resim görüntüleyici programının bir sınırlamasıdır.

+0

Harika, teşekkürler! Renk profilini bir görüntüden diğerine nasıl kopyalayabileceğim hakkında bir fikrin var mı? –

+0

Hiçbir fikrim yok. –

+0

Orijinal resmi sRGB olarak değiştirdim ve işe yaradı! : D –

İlgili konular