Logoerkennung mit OpenCV

8

Ich versuche ein Osterei in einer mobilen App zu implementieren, an der ich gerade arbeite. Dieses Osterei wird ausgelöst, wenn ein Logo in der Kameraansicht erkannt wird. Das Logo, das ich zu erkennen versuche, ist dieses: .

Ich bin nicht ganz sicher, was der beste Weg ist, um dies zu erreichen, da ich ziemlich neu in der Computer Vision bin. Ich finde derzeit horizontale Kanten mit dem Canny-Algorithmus. Ich finde dann Liniensegmente unter Verwendung der probabilistischen Hough-Transformation. Die Ausgabe von diesem sieht wie folgt aus (blaue Linien stellen die Liniensegmente dar, die durch die probabilistische Hough-Transformation detektiert wurden):

Der nächste Schritt, den ich machen würde, wäre, nach einer Gruppe von ungefähr 24 Linien zu suchen (die in ein fast quadratisches Rechteck passen), jede Linie müsste ungefähr die gleiche Länge haben. Ich würde diese beiden Signale verwenden, um auf die mögliche Präsenz des Logos hinzuweisen. Mir ist klar, dass dies wahrscheinlich eine sehr naive Herangehensweise ist und würde Vorschläge begrüßen, wie man dieses Logo zuverlässiger aufspüren kann.

Danke

    
dbotha 17.03.2012, 09:41
quelle

3 Antworten

4

Vielleicht möchten Sie SIFT mit Rob Hess ' SIFT-Bibliothek . Es benutzt OpenCV und auch ziemlich schnell. Ich denke, das ist einfacher als deine derzeitige Art, dich der Logoerkennung zu nähern:)

Versuchen Sie auch, nach SURF zu suchen, das angeblich schneller ist & amp; Robuster als SIFT. Dieses Feature-Erkennungs-Lernprogramm wird Ihnen dabei helfen.

    
dom 17.03.2012, 14:20
quelle
2

Vielleicht möchten Sie nur die Technologie von LogoGrab verwenden. Es ist das Beste da draußen und bietet alle Arten von APIs (sowohl mobile als auch HTTP). Ссылка

    
Luca Boschin 04.04.2014 16:34
quelle
0

Ich bin nicht ganz sicher, ob Sie solche Merkmale im Logo finden würden, um mit einem SIFT / SURF-Ansatz zu gehen. Alternativ können Sie versuchen, einen Haar-ähnlichen Feature-Classifier zu trainieren und ihn für die Erkennung des Logos zu verwenden, genau wie opencv für die Gesichtserkennung.

    
dhanushka 24.08.2013 06:06
quelle