2 Stimmen

Marker mit opencv und python erkennen

Ich versuche, einen Marker in einem Webcam-Video-Feed zu erkennen und ihn mit einem 3D-Objekt zu überlagern - ziemlich genau so wie hier: http://www.morethantechnical.com/2009/06/28/augmented-reality-with-nyartoolkit-opencv-opengl/

Ich weiß, artoolkit ist das beste Modul für diese, aber ich hoffte, nur opencv in Python zu verwenden, da ich nicht annähernd genug c/c++ wissen, um artoolkit verwenden zu können. Ich hoffe, dass jemand in der Lage sein wird, mich auf den richtigen Weg in Richtung der Erkennung der Markierung und der Bestimmung seiner Lage und Ausrichtung usw. zu bekommen, da ich keine Ahnung habe, wie man am besten über diese gehen oder welche Funktionen ich verwenden sollte.

2voto

Arrix Punkte 2671

OpenCV verfügt nicht über eine Standardfunktionalität zur Erkennung und Verfolgung von Markern. Allerdings bietet es alle Algorithmen benötigt, so ist es ziemlich einfach, Ihre eigene zu implementieren. Der Artikel, auf den Sie sich beziehen, verwendet OpenCV nur für das Video-Grabbing. Die Marker-Erkennung wird von NyARToolkit durchgeführt, das von ARToolkit abgeleitet ist. NyARToolkit hat Versionen für Java, C# und ActionScript.

ARToolkit ist größtenteils in einfachem C geschrieben und verwendet keine ausgefallenen C++-Funktionen. Es ist wahrscheinlich einfacher zu benutzen, als Sie dachten. Die Dokumentation enthält gut erklärte Tutorials. z.B. http://www.hitl.washington.edu/artoolkit/documentation/devstartup.htm

Die einführende Dokumentation kann Ihnen helfen, den Prozess der Marker-Erkennung zu verstehen, auch wenn Sie ARToolkit nicht verwenden möchten.

0voto

G M Punkte 17276

Ich denke, die am häufigsten verwendete Methode zur Erkennung von Markern mit Python und Open CV ist die Verwendung von SURF-Deskriptoren. Ich habe dies als sehr nützlich empfunden Video und den verlinkten Code finden Sie unter diese Seite . Hier können Sie den Code herunterladen . Ich weiß nicht, wie man es mit einem 3D-Objekt überlagern, aber ich bin sicher, Sie können etwas mit pygame oder matplotlib tun.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X