我正在尝试在我的项目中实现SURF功能,这是关于人脸识别.我是 android上opencv的新手.因此,找到逻辑错误有点困难.此外,我试图从谷歌搜索,但我无法解决. 我导入了libray org.opencv.features2d来处
我导入了libray org.opencv.features2d来处理功能问题.
一开始这是我的SURF实现代码(部分).
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()); }
当我执行程序时,它会出现一个错误.只是这个.
A/libc(30444): Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1)
我搜索了这个错误.他们说当本机类试图达到或写入0x00000000内存地址时会发生此错误.但我无法弄清楚如何解决这个问题.
你能告诉我我能做些什么吗?
提前致谢
好! SURF功能现已根据 this thread获得专利.所以我认为关于这个问题的错误.谁曾尝试提取SURF功能,您可以继续使用ORB功能,在 this thread工作正常,除非匹配功能.我希望这将有助于搜索Android SURF功能提取.