Fare un'immagine da piastrelle immagine
-
23-08-2019 - |
Domanda
Ho visto un paio di immagini in cui in generale fare una faccia di numerose immagini più piccole.
Per esempio, dicono di piastrelle di 100 immagini in griglia 10x10, e in qualche modo variano tonalità / sat / Col delle immagini più piccole in modo che quando si vede il Big Picture , si vede un'altra immagine.
La questione si riduce a - dire che si dispone di un'immagine. Che tipo di algoritmo vorresti applicano a tale immagine in modo che il valore medio RGB di tale immagine è quella che avete definito?
Soluzione
- Calcola la tonalità / sat / valore di ogni piastrella (HSV utilizzare perché le differenze più piccole qui sembrano più "naturale" per l'occhio umano che nello spazio RGB)
- Ora calcola gli stessi valori per ogni n * n piastrelle del vostro grande immagine
- Trova le piastrelle con i valori più vicini HSV (minimo di
sqrt((h1-h2)^2 - (s1-s2)^2 - (v1-v2)^)
) e timbro che tegola rimpicciolita in modo che n * n nel risultato.
Per trovare l'HSV per una piastrella, dovrebbe essere sufficiente per riassumere tutti i valori RGB e poi dividere per il numero di pixel e convertire quella finale RGB tripla in HSV. Ma per essere salva, io suggerisco di provare che entrambe le versioni.
che articolo di Wikipedia per RGB <->. Conversioni HSV
Per perfezionare l'algoritmo, è possibile dividere ogni piastrella in un m m e calcolare la HSV medio per ogni elemento della griglia. Poi, quando si guarda per un match, dividere l'immagine in grande, come al solito, ma anche calcolare m M valori HSV. Selezionare quale tegola corrisponde la maggior parte di questi m * m migliore. In questo modo l'algoritmo per selezionare le piastrelle che hanno la stessa struttura del quadro.
Per quel tocco in più, provare a creare un immagine gigapixel .