2012-05-21 64 views
1

如何在python中將多個圖像替換爲另一種顏色?我有一個包含400個精靈動畫的文件夾。我想改變塊有色陰影(111,79,51)與一個具有alpha透明度。我可以很容易地使用批量轉換:Python:用alpha像素替換rgb顏色。批量轉換400張圖像

img = glob.glob(filepath\*.bmp) 

但是我不知道如何改變像素顏色。如果它有所不同,圖像都是96x96,我不在乎這個過程多長時間。我使用Python 3.2.2所以我真的不能使用PIL(我認爲)

+0

你有沒有嘗試Python 3.2的非官方PIL構建? http://www.lfd.uci.edu/~gohlke/pythonlibs/。如果它不起作用,我也會給opencv一個鏡頭;) – jlengrand

+1

你有沒有考慮過使用ImageMagick? –

+0

謝謝!我不知道關於3.2.2的非官方PIL,現在非常棒! – JamesWat

回答

0

BMP是一種Windows文件格式,所以你需要PIL或類似的東西;或者你可以推出你自己的讀寫器。據我所知,基本模塊無濟於事。您可以使用屬於標準分佈的Tk(PhotoImage())讀取PPM和GIF,並在該圖像上使用get()和put()來更改像素值。在線查看參考文獻,因爲它不是直接的 - 像素來自get()作爲3元組整數,但需要返回put()作爲空格分隔的十六進制文本!

0

您的圖像是否處於索引模式(帶有調色板的每像素8位)或「真彩色」32bpp圖像?如果它們處於索引模式,那麼簡單地將該顏色的調色板條目標記爲在所有文件中都是透明的並不困難。

否則,你將不得不處理所有的像素數據。它也可以通過爲GIMP寫一個Python腳本來完成 - 但是這需要Python-2。