Медленная обработка изображений с помощью Python и PIL

Я пытаюсь отсортировать пиксели изображений в порядке значений RGB. Будучи новичком в Python, я попробовал это :

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")

. Он хорошо работает для небольших файлов размером около 40x40 пикселей. Но целью было использовать его на фотографиях с разрешением до 3000x2000, я пробовал запускать его, но через два часа конца и края не было видно. Можно ли оптимизировать код, я сделал что-то совсем не так или Python просто не подходит для такой задачи?

0
задан dan 30 April 2012 в 14:10
поделиться