2017-10-15 9 views
1

Je veux identifier toutes les occurrences d'une liste d'images dans une capture d'écran et obtenir l'étiquette de l'emoji (par exemple "sourire").Identifier toutes les occurrences d'une liste d'images dans une capture d'écran (trouver l'image dans l'image)

La liste des images contient tous emojis (full list): et ainsi de suite ...

Et voici la capture d'écran (show large):

Les captures d'écran peuvent avoir différentes résolutions et différentes hauteurs où les emoji se produisent.

Mes idées étaient:

  • En utilisant OpenCV et une variété de filtrage et itérer toutes les images emoji au-dessus (en utilisant peut-être template matching)
  • En utilisant les réseaux de neurones comme tensorflow, la formation de votre propre modèle avec le emojis

Comment le feriez-vous?

Répondre

1

Il existe plusieurs façons classiques pour répondre à votre problème:

Si vous avez des intensités différentes entre votre capture d'écran et votre image de base emoji, vous devez utiliser une corrélation normalisée. Ces deux méthodes vous donneront une image avec des pics, et vos emojis seront localisés aux maxima locaux de cette image. Comme vos emojis peuvent être très similaires les uns aux autres, vous devrez utiliser un seuil sur l'image de corrélation afin de faire la distinction entre les emoji que vous testez et ceux qui lui ressemblent.

Cette méthode peut prendre du temps, mais peut être facilement accélérée en utilisant une pyramide d'images. Une pyramide d'images est un ensemble d'images où le premier est votre image, le second est un sous-échantillonnage du premier par un facteur de 2, et ainsi de suite: https://en.wikipedia.org/wiki/Pyramid_(image_processing). Ensuite, la corrélation est appliquée au niveau supérieur de la pyramide pour trouver une position approximative, puis au niveau supérieur - 1 autour de l'emplacement approximatif et ainsi de suite. En ce qui concerne le réseau de neurones, ou d'autres méthodes d'apprentissage automatique que vous voulez essayer, ce sont des solutions très lourdes et vous avez un problème assez simple, donc vous ne devriez normalement pas en avoir besoin. Vous avez l'image exacte que vous recherchez, sans rotation, déformation ou changement d'intensité, et l'appariement des modèles devrait être très efficace.