8
votes

Comment rechercher un logo célèbre dans une image numérisée?

J'ai suivi du document numérisé, avec le logo sur celui-ci, et j'ai une autre image noire et blanche avec le même logo et le même style (montré en noir et couleur blanche ci-dessous).

Comment puis-je vous assurer que le logo est présent sur cette image ou non?

recherche d'image dans l'image

Habituellement, je vais avoir de nombreux documents numérisés, OCR ramassera MTNL, mais parfois, ces logos ne sont que constitués de symboles non reconnus facilement par OCR.

La taille et la position des logos changent, elles ne sont pas fixées plusieurs fois. Ils peuvent être placés n'importe où sur le document.

Je veux organiser et cataloguer des images numérisées en fonction des logos et des symboles présents. La plupart des documents peuvent ou non être en anglais, peuvent ou non contenir des codes à barres, dans ce cas, le match de logo aidera.

J'ai vu la bibliothèque Aforge.net, mais je ne suis pas très sûr que les méthodes de combiner pour faire la recherche. Les pixels La recherche est très lente et échoue si la destination source a une taille différente.

J'ai entendu dire que YouTube fait une sorte d'histogramme ou de signature de chaleur pour voir si la vidéo contient n'importe quel matériau protégé par le droit d'auteur. Je serai utile si quelqu'un peut me guider dans ce cas.

Mon choix idéal serait C # et Aforge.net, sinon certains outils de ligne de commande seront appréciés.


6 commentaires

J'ai utilisé OpenCV, qui a un wrapper .NET et pourrait être une option. Modèle OPENCV correspondant


OpenCV est une autre lib à mentionner ici


@Georgguckett, fonctionnera-t-il avec une taille différente mais un même rapport d'aspect?


Je ne suis pas si familier mais je serais surpris si vous ne pouviez pas travailler quelque chose (même si cela repoussait manuellement l'image de logo source et les tests pour plusieurs tailles)


@GeorGeduckett, combinaisons est impossible, la taille du logo ne sera pas corrigée, compte tenu de 72 dpi, il faudra également essayer 100 combinaisons, une simple recherche de pixels sera probablement trop de temps à dépenser sur un seul document, en considérant que nous aurons 1000 logos à correspondre. .


Tout comme un intérêt, si quelqu'un connaît la science de la façon dont cela se fait (sans une bibliothèque), j'aimerais une brève explication. Problème très intéressant!


3 Réponses :


2
votes

2 commentaires

Mes formes sont compliquées et comment définissez-nous ensemble de formes pour former le logo?


Le troisième lien vous indique d'utiliser EXPOSIVETEmplatematematMatMatMatMatShatMatShe la bonne solution à votre problème. OpenCV / Emgucv a également de meilleurs algorithmes de correspondance de gabarit que Aforge.net.



1
votes

Détecter les fonctionnalités utiles dans votre image de logo et recherchez les fonctionnalités du document numérisé. SIFT est un descripteur de fonctionnalités utile qui est l'invariance d'échelle et de rotation. Surf et HOG .

Si vous regardez autour de vous, il y aura de nombreuses implémentations, certaines même en C #.


0 commentaires

1
votes

Vous pouvez utiliser ce petit utilitaire: https://github.com/remdex/logoDetect Cela a fonctionné pour moi. Peut-être que cela fonctionnera pour vous aussi.


0 commentaires