SURF Feature-Extraktion Mit Android OpenCV-SDK - Immer Einige Fehler
Bin ich versucht zu implementieren SURF-features in mein Projekt, welches über Gesichtserkennung. Ich bin neu bei opencv für android. So ist es ein wenig schwer zu finden, logische Fehler. Auch ich habe versucht die Suche von google, aber nichts, was ich beheben könnte.
Ich importierte die library org.opencv.features2d für die Behandlung feature Fragen.
Am Anfang das ist mein SURF-Umsetzung-code(ein Teil von).
public void SURFExtraction()
{
FeatureDetector detector = FeatureDetector.create(FeatureDetector.SURF);
DescriptorExtractor SurfExtractor = DescriptorExtractor.create(DescriptorExtractor.SURF);
Mat img1 = Highgui.imread("/mnt/sdcard/FaceDB/1.jpg");//one of my face
Mat img2 = Highgui.imread("/mnt/sdcard/FaceDB/2.jpg");//one of my different face
//extract keypoints
MatOfKeyPoint keypoints = new MatOfKeyPoint();
MatOfKeyPoint logoKeypoints = new MatOfKeyPoint();
detector.detect(img1, keypoints);//this is the problem "fatal signal"
Log.d("LOG!", "number of query Keypoints= " + keypoints.size());
detector.detect(img2, logoKeypoints);
Log.d("LOG!", "number of logo Keypoints= " + logoKeypoints.size());
}
Wenn ich das Programm auszuführen, das es gibt einen einzigen Fehler. Nur diese.
A/libc(30444): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
Suchte ich nach diesem Fehler. Sie sagte, dass dieser Fehler tritt auf, wenn native Klassen versuchen zu erreichen oder schreiben Sie 0x00000000-Speicher-Adresse. Aber ich konnte nicht herausfinden, wie dieses Problem zu beheben.
Können Sie mir sagen, was kann ich tun?
Vielen Dank im Voraus
Ich habe versucht, die Anzeige Fehler im logcat. Ich bekam dieselbe fatale signal Fehler. Auf der anderen Seite ich don ' T wissen, wie oder wo STDERR.
InformationsquelleAutor COvayurt | 2013-04-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok! SURF-Merkmale sind nun patentiert nach dieser thread. Also ich denke, dass der Fehler zu diesem Problem. Wer jemals versucht zu extrahieren SURF-Funktion, können Sie weiterhin mit ORB-Funktionen, die bei dieser thread funktioniert gut, es sei denn, matching-Funktionen. Ich hoffe, dies wird helfen, die Suche für android SURF-features Extraktion.
Ich habe tutorial für die ORB-Funktionen in link, den Sie zur Verfügung gestellt haben, aber problem bei mir ist, es ist immer was keine. der gute Spiele gleichen(gleich 500), ich habe es mit verschiedenen Bildern, dann min und max Werte ändert, aber keine guten Spiele sind gleich geblieben. auch möchte ich, um die Koordinaten der Szene im Objekt-Bild, wenn Sie wissen, wie dies zu tun bitte helfen Sie mir
InformationsquelleAutor
SURFEN ist nicht enthalten in der distribution Paket von OpenCV Android. Um es zu verwenden, müssen Sie kompilieren die unfreie Modul und verwenden Sie es in Ihrem Projekt. Also, was Sie tun müssen, ist das erstellen einer NDK-Projekt kompilieren, die unfreie Modul als standalone-Bibliothek. Dann diese Bibliothek verwenden, zu kompilieren Sie Ihr Programm. Dann sollten Sie in der Lage sein, um Ihre Anwendung zu erstellen. Sie können sich auf dieser tutorial.
Der 2. Teil des Tutorials zeigt, wie Sie mithilfe der OpenCV-Funktionen über die NDK und JNI: sites.google.com/site/wghsite/technical-notes/...
InformationsquelleAutor Robert Wang
Download ältere version, also 4.2.1 oder 4.2.0 von opencv und verwenden Sie es in Ihrem Projekt
InformationsquelleAutor Mehul Thakkar