10

Ich habe ein grundlegendes Verständnis in der Bildverarbeitung und studiere jetzt gründlich das Buch "Digital Image Processing" von Gonzales.Erkennen eines Objekts auf dem Bild basierend auf der geometrischen Form

Wenn Bild gegeben und Objekt von Interesse approximierte Form bekannt ist (z. B. Kreis, Dreieck), Was ist der beste Algorithmus/Methode, um dieses Objekt auf Bild zu finden?

Das Objekt kann leicht verformt werden, so dass Brute-Force-Ansatz nicht hilft.

Antwort

5

Ich empfehle Ihnen, die Hough-Transformation zu verwenden, mit der Sie ein beliebiges Muster finden können, das durch eine Gleichung beschrieben wird. Darüber hinaus eignet sich die Hough-Transformation auch hervorragend für deformierte Objekte.

Der Algorithmus und die Implementierung selbst ist ziemlich einfach. Weitere Details finden Sie hier: http://en.wikipedia.org/wiki/Hough_transform, auch ein Quellcode für diesen Algorithmus ist auf einer referenzierten Seite enthalten (http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html).

Ich hoffe, dass dir das hilft.

+0

Hough Transformation ist ein bisschen rohe Gewalt, wie Sie feststellen werden. Es funktioniert für Linien, vielleicht Kreise. Der Hough-Raum explodiert jedoch mit Formen mit mehr Parametern. – Ivan

3

Ich würde das Problem in zwei Schritten aus:

  • erste Ihr Objekts äußerte Begrenzung der Suche nach: Ich bin die Annahme, Sie genug Bild kontrastiert haben, dass Sie leicht Schwelle einen binäre zu bekommen Bild Ihres Objekts. Sie müssen den Objektgrenzen-Kettencode extrahieren.

  • dann die Grenze der Form Analyse die Form abzuleiten (Kreis, Polygon, ...): Sie können die Krümmung in jedem Punkt der Grenzkette berechnen und so bestimmen, wie viele spitzen Winkel (dh hohe Krümmung Wert) gibt es in Ihrer Form. Mehrere scharfe Winkel bedeuten, dass Sie ein Polygon haben, keines bedeutet, dass Sie einen Kreis haben (konstante Krümmung).

können Sie eine Beschreibung zu finden, wie Sie Ihre Objektgrenze aus dem binären Bild zu erhalten und Möglichkeiten, es in Gonzalez's Digital Image Processing, chapter 11 zu analysieren.

Ich fand auch diese insightful presentation on binary image analyis (PPT) und eine matlab script, die einige der Techniken implementiert, die Gonzalez in DIP spricht.

+0

Realisiert Ich beantwortete eine andere Frage von dem, was gefragt wurde. Sie können jedoch immer noch versuchen, Objekte auf diese Weise zu finden und dann nur die gesuchten Formulare beizubehalten. – Ivan

1

Ich empfehle Ihnen dringend, OpenCV zu verwenden, es ist eine großartige Computer Vision-Bibliothek, die mit allem im Zusammenhang mit Computer Vision sehr helfen. Ihre Website ist weder wirklich attraktiv noch hilfreich, aber die API ist wirklich mächtig.

Ein Buch, das mir sehr geholfen hat, da es im Internet keine Dokumentation gibt, ist Learning OpenCV. Die Dokumentation, die mit der API geliefert wird, ist gut, aber nicht großartig, um zu lernen, wie man sie benutzt.

In Verbindung mit Ihrem Problem könnten Sie einen Canny Edge-Detektor verwenden, um den Rahmen Ihres Objekts zu finden und dann zu analysieren, oder Sie können mit Hough-Transformation fortfahren, um nach Linien und/oder Kreisen zu suchen.

1

können Sie speziell 'Gesichtserkennung' versuchen.Weil du weißt, dass das ein bestimmtes Thema ist. Auf der anderen Seite 'Gesichtserkennung' usw. EmguCV kann für Sie nützlich sein .. Es ist. Net-Wrapper für die Intel OpenCV-Bildverarbeitungsbibliothek.

1

Es sieht aus wie Professor Jean Rouat von der University of Sherbooke, hat einen Weg gefunden, um Objekte in Bildern durch die Verarbeitung von neutralen spiking neuronalen Netzwerk zu finden. Sein Technologie-Name RN-SPIKES scheint zur Lizenzierung verfügbar zu sein.

Verwandte Themen