2012-07-03 3 views
7

Ich versuche, die Standorte der Ecken eines Blattes Papier zu verfolgen, wie ich es relativ zu einer Android-Kamera bewegen (Sie können davon ausgehen, dass das Blatt Papier eine völlig andere Farbe als der Hintergrund sein wird)). Ich möchte die x, y Koordinaten jeder Ecke auf dem Android-Bildschirm finden. Ich möchte auch den Winkel des Papiers ändern können, so dass es nicht immer perfekt rechteckig erscheint.android corner tracking mit opencv

Ich benutze opencv 2.4.1 für Android, aber ich konnte cvgoodfeaturetotrack oder cvfindcornersubpix in den Paketen nicht finden. Im Moment denke ich darüber nach, den CvCanny-Algorithmus zu verwenden, um die Kanten zu finden, und dann die Kanten mit cvfindcontours zu verwenden, um die Hauptschnittpunkte der Linien zu finden, um die Ecken zu finden.

Alle Vorschläge oder Quellcode würden sehr geschätzt werden.

Antwort

5

Ich schlage vor, Sie zwei Möglichkeiten:

1- Verwenden Sie andere OpenCV Version, wo Sie diese Funktionen haben (können Sie überprüfen die Online-documentation)

2- FAST Detektor verwenden und Deskriptoren SIFT. Es ist eine weit verbreitete Methode für diese Art von Aufgabe, wirklich aktuell. Es wird die besten Funktionen finden, die mehrskalig, robust gegenüber Lichtverhältnissen usw. sind. Sie müssen den Marker (das Blatt Papier) trainieren, um die Features mit SIFT zu extrahieren. Verwenden Sie dann den FAST-Detektor in der Kameraszene, um diese Funktionen zu erkennen und zu verfolgen.