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?

È stato utile?

Soluzione

  1. 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)
  2. Ora calcola gli stessi valori per ogni n * n piastrelle del vostro grande immagine
  3. 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 .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top