7

Ich möchte App entwickeln, die Objekt (wie Denkmal oder etwas) vor der Kamera mit OpenCv vor Ort erkennen und dann Informationen darüber anzeigen wird.OpenCV für ANDROID Bild vergleichen

So ist die Frage , wie man Objekt (wie Monument oder etwas) Form erkennt oder mit Bildern mit OpenCV vergleicht?
Und was ist die beste Methode dafür?

Es wäre gut, wenn es eine Art von Beispielen oder Tutorials zur Objekterkennung und zum Vergleich gibt.

Vielen Dank.

+1

Welche Objekterkennungsalgorithmen haben Sie untersucht? Zuerst müssen Sie sich für die am besten geeignete für Ihre Anwendung entscheiden. Abhängig von Ihrem Algorithmus müssen Sie möglicherweise Trainingsdaten verwenden, um ein Modell zu definieren, das das Objekt, das Sie erkennen möchten, am besten beschreibt. Computer Vision ist ein sehr schwieriger Bereich, in dem man arbeiten muss, und erfordert ein gutes Verständnis der Region. Wenn Sie neu sind, würde ich empfehlen, einige Lehrbücher zu bekommen. – BDFun

Antwort

6

Die beste Methode für das, was Sie fragen, ist mit lokalen Funktionen Detektoren wie OpenCV SIFT, SURF und ORB, zum Beispiel.

Sie benötigen mindestens ein Bild von dem Objekt, das Sie erkennen möchten. Danach können diese Algorithmen dieses Bild mit anderen Bildern vergleichen, um zu sehen, ob sie ähnlich genug sind.

Hier ist die Dokumentation für die Algorithmen.

  • ORB und andere:

http://docs.opencv.org/modules/features2d/doc/feature_detection_and_description.html

  • SURF und SIFT ('unfreie'):

http://docs.opencv.org/modules/nonfree/doc/feature_detection.html

Die Art und Weise diese Algorithmen für die Arbeit Aufgabe ist von sel Für jedes Bild interessante Punkte auswählen und vergleichen, ob sie übereinstimmen. Wenn mehrere Übereinstimmungen gefunden werden, ist es am meisten wahrscheinlich die Bilder haben das gleiche Objekt.

Tutorials (von Feature-Erkennung und unten):

http://docs.opencv.org/doc/tutorials/features2d/table_of_content_features2d/table_of_content_features2d.html

Sie auch C++ Proben Bezug zu diesem Thema finden Sie hier (Proben sind auch in OpenCV-Download-Paket):

  • z. "matching_to_many_images.cpp"
  • "video_homography.cav“

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/cpp

Und Android Java Proben hier (nicht verwandt, sondern auch hilfreich):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/android

Oder Python Proben, die tatsächlich die aktualisierten und diejenigen hierfür sind Thema (zu der Zeit, als dieser Beitrag geschrieben wurde):

http://code.opencv.org/projects/opencv/repository/revisions/master/show/samples/python2

Als letzte Anmerkung, wie @BDFun im Kommentar gesagt, ist dies nicht trivial zu tun.

Mehr - Wenn Sie eine Übersicht über die Erkennung und Beschreibung von OpenCV-Funktionen wünschen, check this post.

+0

wie man opencv + android mit dem android NDK benutzt? – nawara

+0

Haben Sie das überprüft? http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/dev_with_OCV_on_Android.html#native-c –