我正在尝试按 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 根本不适合那种任务?