Question

Je l'ai vu quelques images où ils généralement faire un visage de nombreuses petites images.

Par exemple, ils disent tuiles 100 images dans la grille de 10x10, et d'une certaine manière, ils varient de teinte / satellite / col des images plus petites de sorte que lorsque vous voyez le Big Picture , vous voyez une autre image.

La question se résume à - dire que vous avez une image. Quel type d'algorithme appliqueriez-vous à cette image de sorte que la valeur RVB moyenne de cette image est celle que vous avez défini?

Était-ce utile?

La solution

  1. Calculer la teinte / sat / valeur de chaque tuile (utiliser HSV car semblent plus petites différences ici plus « naturelle » à l'œil humain que dans l'espace RGB)
  2. calculer maintenant les mêmes valeurs pour chaque tuile n * n de votre grande image
  3. Rechercher les carreaux avec les valeurs les plus proches de HSV (minimum sqrt((h1-h2)^2 - (s1-s2)^2 - (v1-v2)^)) et cachet que la tuile réduite à n * n dans le résultat.

Pour trouver le HSV pour une tuile, il devrait être suffisant pour résumer toutes les valeurs RVB et les diviser par le nombre de pixels et le convertir RVB finale triple en VHS. Mais pour être sauver, je vous suggère d'essayer que les deux versions.

Voir qui article de Wikipedia pour RGB <->. Conversions HSV

Pour affiner l'algorithme, vous pouvez diviser chaque tuile en une m m et calculer le HSV moyenne pour chaque élément de grille. Ensuite, lorsque vous regardez un match, il faut diviser la grande image en comme d'habitude, mais aussi calculer m m valeurs HSV. Sélectionnez qui correspond à la plupart de ces tuiles m * m mieux. Cela permet à l'algorithme pour sélectionner les tuiles qui ont la même structure que le tableau d'ensemble.

Pour une touche supplémentaire, essayez de créer un image gigapixels de .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top