当前位置 : 主页 > 手机开发 > android >

使用Android OpenCV SDK进行SURF特征提取 – 出现一些错误

来源:互联网 收集:自由互联 发布时间:2021-06-11
我正在尝试在我的项目中实现SURF功能,这是关于人脸识别.我是 android上opencv的新手.因此,找到逻辑错误有点困难.此外,我试图从谷歌搜索,但我无法解决. 我导入了libray org.opencv.features2d来处
我正在尝试在我的项目中实现SURF功能,这是关于人脸识别.我是 android上opencv的新手.因此,找到逻辑错误有点困难.此外,我试图从谷歌搜索,但我无法解决.
我导入了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功能提取.
网友评论