Ich arbeite an einem Projekt, wo ich ein Bild von einem farbigen Gitter als Eingabe (in diesem Beispiel mit Legosteinen gemacht) machen und ein viel kleineres modifiziertes Bild zurückgeben möchte. HierPixelate Bild mit Kissen
ist ein Beispiel Eingabe:
Unten ist ein sehr kleines 8x8 Bild, das das Ergebnis sein würde:
Hier ist eine viel größere Version des erwarteten Ergebnisses::
Hier ist mein Code so weit: Es nur mit Schwarz-Weiß-Bilder funktioniert.
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")
Und die Ausgabe von meinem Code zurückgegeben:
Mein Programm arbeitet für Schwarzweiß-Bilder in Ordnung, aber ich brauche Hilfe zu ändern es mit verschiedenen Farben (rot zu arbeiten, orange, gelb, hellgrün, dunkelgrün, hellblau, dunkelblau, lila, schwarz und weiß).
Vielen Dank im Voraus!
Nicht Thumbnail tun, was Sie wollen? –