2014-02-06 14 views
18

Ich entwickle eine Anwendung, wo ich opencv verwenden, um Formen in einem Kamerabild zu erkennen und 3D-Objekte von Metaio auf diese Formen gerendert anzuzeigen. Wie kann dies erreicht werden? Ich habe versucht, benutzerdefinierte Rendering, aber "onNewCameraFrame" -Methode wird nicht aufgerufen.3D-Objekt-Rendering in OpenCV mit Metaio in Android

Ich muss jeden Kamerarahmen, den wir in 'onNewCameraFrame()' erhalten, in das Mat-Objekt für die Formendetektionslogik konvertieren. Aber es wird nicht angerufen. Ich habe sogar die Methode 'requestCameraImage()' von metaio sdk aufgerufen.

+0

Haben Sie versucht, die opencv-Beispiele auszuführen, um zu prüfen, ob diese funktionieren? Wenn Sie den nativen Grabber verwenden; Das könnte auch das Problem sein, da es nicht auf allen Telefonen funktioniert. – Nallath

+0

Ich habe OpenCV-Beispiele verwendet, aber was ich will, ist Meta-Kamera-Sicht und nicht OpenCV. – Shweta24

+0

@ Shweta24. Konnten Sie eine Lösung für dieses Problem finden? – VizZy

Antwort

2

Beginnen Sie mit der Hallo Welt Beispiel von Metaio: http://dev.metaio.com/sdk/tutorials/hello-world/ Dort können Sie den Beispielcode wie z. render eine Figur auf einem Marker

Aber metaio und OpenVC sind nicht für den Rendering-Teil, naja metaio ein wenig mehr als OpenCV, aber sie tun den Computer Vision Teil Ihrer Anwendung. Um etwas zu rendern, müssen Sie OpenGL-Code selbst schreiben, oder Sie können metaio mit einer komplexeren Rendering-Engine wie jMonkey, libGDX usw. verbinden.

+0

Ich habe grundlegende Tutorials von Metaio durchlaufen. Metaio Free Version unterstützt keine Kantenerkennung, was durch openCV möglich ist. Also habe ich mich gefragt, wie beide (OpenCV und Metaio) kombiniert werden können => Wie ich es gemacht habe, wurden grundlegende Formen mit Kantenerkennung in openCV erkannt. Und jetzt möchte ich 3D-Objekt auf erkannte Form mit Metaio hinzufügen. Wie kann das gemacht werden? – Shweta24

+0

Ich denke, Sie können es nicht tun, lesen Sie die Nutzungsbedingungen, ich denke, Sie dürfen nicht beide OpenCV und Metaio Computer Vision Methoden zur gleichen Zeit verwenden –

+0

Was Sie tun können, ist etwas wie die Droidar Marker Tracker: https : //code.google.com/p/droidar/wiki/Markerdetection und https://www.youtube.com/watch?v=w5BrHLnG4no, aber das würde bedeuten, dass Sie selbst eine Tracking-Logik mit opencv schreiben müssen –