Sto lavorando a un progetto in cui voglio scattare una foto di una griglia colorata come input (realizzata con mattoncini Lego in questo esempio) e restituire un'immagine modificata molto più piccola.Immagine pixel con cuscino
Ecco un ingresso esempio:
seguito è un'immagine molto piccola 8x8 che sarebbe il risultato:
Qui è un molto versione più grande del risultato previsto::
Ecco il mio codice finora: Funziona solo con le immagini in bianco e nero.
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")
E l'uscita restituito dal mio codice:
Il mio programma funziona bene per le immagini in bianco e nero, ma ho bisogno di aiuto cambiare per funzionare con diversi colori (rosso, arancione, giallo, verde chiaro, verde scuro, blu chiaro, blu scuro, viola, bianco e nero).
Grazie in anticipo!
La miniatura non fa ciò che vuoi? –