Pixelate изображение с подушкой

Я работаю над проектом, в котором я хочу сделать снимок цветной сетки в качестве входных данных (сделанный с помощью кубиков Lego в этом примере) и вернуть гораздо меньшую модифицированную картинку.

Вот пример ввода:

Ниже приведено очень маленькое изображение размером 8x8, результатом которого будет:

Вот гораздо большая версия ожидаемого результата::

Вот мой код до сих пор: Работает только с черно-белыми изображениями.

from PIL import Image
import re

black = [(110,110,110),(0,0,0)] #The highest value and the lowest RGB value for the color black

img = Image.open("input.jpg") #The input image
size = (8,8) #The dimensions of the output image

out = img.resize(size,resample=Image.LANCZOS) #Resize the image

for y in range(size[0]): #loop through every pixel
    for x in range(size[1]):

        if out.getpixel((x,y)) <= black[0] and out.getpixel((x,y)) >= black[1]: #check to see if the pixel is within the accepted black values

            out.putpixel((x,y), (0,0,0)) #Give the current pixel true color
        else:
            #otherwise make the pixel black
            out.putpixel((x,y), (255,255,255)) #Give the current pixel true color

"""Save the pixelated image"""
out.save("output.jpg")

И вывод вернул мой код:

Моя программа отлично работает для черно-белых изображений, но мне нужна помощь, чтобы изменить ее на несколько цветов (красный, оранжевый, желтый, светло-зеленый, темно-зеленый, светло-синий, темно-синий, фиолетовый, черно-белый).

Заранее спасибо!

Ответы на вопрос(2)

Ваш ответ на вопрос