我在按照RGB值的順序對圖像的像素進行排序。作爲新的Python的我想這:用Python和PIL緩慢處理圖像
from PIL import Image
source = Image.open("source.jpg")
colors = source.getcolors(source.size[0] * source.size[1]) #maxcolor value =256, get all colors with source.size[0] * source.size[1]
pixels = []
for i, color in colors:
pixels.extend(i * [color])
pixels.sort()
new = Image.new('RGB', source.size)
new.putdata(pixels)
new.save("new.png")
它的工作原理以及安靜的周圍40×40像素的小文件。但目標是在高達3000x2000分辨率的照片上使用它,我試着運行它,但兩個小時後仍然沒有結束。代碼能夠優化嗎,我做了一些完全錯誤的事情還是Python不適合這種類型的任務?
我也試過這個,但有重建圖像沒有工作的問題。我試過:new.putdata(顏色),但是這返回一個TypeError。 – dan
@dan,您已經有了從顏色列表中正確構建圖像的代碼,這就是爲什麼我沒有將它包含在答案中的原因。你只需要移除'sort'。 –