SURF Extraction de caractéristiques Avec Android OpenCV SDK - Obtenir Certaines Erreurs
Je suis en train de mettre en œuvre des VAGUES fonctionnalités de mon projet qui est sur la reconnaissance du visage. Je suis nouveau à opencv sur android. Donc c'est un peu dur de trouver des erreurs logiques. Aussi j'ai essayé de faire la recherche à partir de google, mais rien que je puisse les corriger.
J'ai importé la bibliothèque org.opencv.features2d pour la fonctionnalité de gestion des problèmes.
Au début c'est mon SURF de la mise en œuvre du code(une partie de).
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());
}
Lorsque j'exécute le programme, il donne une seule erreur. Juste cette.
A/libc(30444): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
J'ai cherché pour cette erreur. Ils ont dit que cette erreur se produit lorsque les classes natives essayez d'atteindre ou d'écrire 0x00000000 adresse mémoire. Mais je ne pouvais pas comprendre comment résoudre ce problème.
Pouvez-vous me dire ce que je peux faire?
Merci d'avance
J'ai essayé de l'erreur d'affichage dans le logcat. Je me suis même fatale erreur de signal. D'autre part, je ne sais pas comment l'utiliser ou de l'endroit où l'utilisation STDERR.
OriginalL'auteur COvayurt | 2013-04-07
Vous devez vous connecter pour publier un commentaire.
Ok! SURF caractéristiques brevetées selon ce fil. Donc, je pense que l'erreur à propos de ce problème. Qui n'a jamais essayer d'extraire des VAGUES fonctionnalité, vous pouvez continuer avec l'ORBE caractéristiques qui, à ce fil fonctionne très bien, sauf dispositifs de correspondance. J'espère que cela aidera à la recherche pour android SURF fonctionnalités d'extraction.
J'ai suivi le tutoriel de l'ORB fonctionnalités donné dans le lien que vous avez fourni, mais le problème avec moi, c'est qu'il est toujours donné aucune. de bons matchs même(égal à 500), j'ai essayé avec différentes images, puis de les valeurs min et max des changements, mais pas de bons matches sont resté le même. je tiens également à obtenir les coordonnées de scène en image de l'objet, si vous savez comment faire merci de m'aider
OriginalL'auteur
De SURF n'est pas inclus dans le package de distribution de OpenCV Android. Pour l'utiliser, vous devez compiler le non libres module et l'utiliser dans votre projet. Donc, ce que vous devez faire est de créer un NDK projet, de compiler non libre de module comme une bibliothèque autonome. Puis utiliser cette bibliothèque pour compiler votre programme. Ensuite, vous devriez être en mesure de construire votre application. Vous pouvez vous référer à ce tutoriel.
La 2ème partie du tutoriel montre comment utiliser les fonctions OpenCV par NDK et JNI: sites.google.com/site/wghsite/technical-notes/...
OriginalL'auteur Robert Wang
Télécharger l'ancienne version, c'est à dire 4.2.1 ou 4.2.0 de opencv et de l'utiliser dans votre projet
OriginalL'auteur Mehul Thakkar