OpenCV Objekterkennung - Mittelpunkt
Gegeben ein Objekt auf einem weißen hintergrund, weiß jemand, ob OpenCV bietet Funktionen, um leicht zu erkennen, ein Objekt von einem erfassten frame?
Ich versuche zu suchen, die Ecke/zentrieren Punkte eines Objekts (Rechteck). Die Art, wie ich derzeit bin, es zu tun, ist durch brute-force (Scannen Sie das Bild für das Objekt) und nicht genau. Ich Frage mich, ob es ist die Funktionalität unter der Haube, die ich nicht kenne.
Details Bearbeiten:
Die Größe ungefähr das gleiche wie eine kleine Getränkedose. Die Kamera befindet sich oberhalb des Objekts, um es zu geben, eine 2D/Rechteck fühlen. Die Ausrichtung/der Winkel von der Kamera ist zufällig, die errechnet sich aus der Ecke zu Punkten.
Es ist nur ein weißer hintergrund mit dem Objekt (schwarz). Die Qualität der Aufnahme ist über das, was Sie erwarten würden, um zu sehen, von einer Logitech-webcam.
Sobald ich die Eckpunkte, berechne ich die Mitte. Der Mittelpunkt ist dann Umgerechnet in Zentimetern.
Es ist die Verfeinerung nur wie bekomme ich diese 4 Ecken ist, was ich versuche zu konzentrieren auf. Sie können sehen, meine brute-force-Methode mit diesem Bild: Bild
InformationsquelleAutor der Frage David McGraw | 2008-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es bereits ein Beispiel, wie Sie tun, Rechteck-Erkennung in OpenCV (suchen in samples/Quadrate.c), und es ist ziemlich einfach, eigentlich.
Hier ist die grobe Algorithmus, die Sie verwenden:
Nicht eine genaue Wiedergabe von dem, was Sie tun, aber es sollte Ihnen helfen.
InformationsquelleAutor der Antwort
Hoffe, das hilft, nutzt den moment-Methode auf, um den Schwerpunkt von einem schwarzen und weißen Bild.
InformationsquelleAutor der Antwort Rod Dockter
OpenCV hat haufenweise Funktionen, die Ihnen helfen können, dies zu erreichen. Download Emgu.Lebenslauf für eine C#.NET eingewickelt in die Bibliothek wenn Sie die Programmierung in dieser Sprache.
Einige Methoden zu bekommen, was Sie wollen:
Finden Sie die Ecken wie vor - z.B. "CornerHarris" OpenCV-Funktion
Schwellenwert das Bild und berechnen Sie das Zentrum der Schwerkraft - siehe http://www.roborealm.com/help/Center%20of%20Gravity.php ... das ist die Methode, die ich verwenden würde. Sie können sogar führen Sie die schwellenwertbestimmung in der COG routine. also cog_x += *imagePtr < 128 ? 255 : 0;
Finden die Momente des Bildes zu geben, rotation, Schwerpunkt etc. - z.B. "Momente" OpenCV-Funktion. (Ich habe nicht benutzt)
(edit) Die AForge.NET Bibliothek-Ecke-detection-Funktionen sowie ein Beispiel-Projekt (Bewegungsmelder und Bibliotheken, um die Verbindung zu webcams. Ich denke, das wäre der einfachste Weg zu gehen, vorausgesetzt, Sie verwenden Windows und .NET.
InformationsquelleAutor der Antwort geometrikal
Es ist in der Regel genannt blob-Analyse in anderen machine-vision-Bibliotheken. Ich habe nicht verwendet opencv noch.
InformationsquelleAutor der Antwort kenny