OpenCV Android Could not find SURF 图片匹配报错

由于上篇文章,我们已经打包了os和O4A 但是在使用的SURF的时候运行 发现会报错说找不到方法

事实上这是因为源码把这段代码注释掉了

找到/home/john/Downloads/opencv-master/modules/features2d/misc/java/src/cpp目录,打开features2d_manual.hpp文件,做以下修改:

在第8行增加一个头文件opencv2/xfeatures2d.hpp,即把

#ifdef HAVE_OPENCV_FEATURES2D

#include "opencv2/features2d.hpp"

#include "features2d_converters.hpp"

改为

#ifdef HAVE_OPENCV_FEATURES2D

#include "opencv2/features2d.hpp"

#include "opencv2/xfeatures2d.hpp"

#include "features2d_converters.hpp"

把第120-125行的改为

caseSIFT:

fd=xfeatures2d::SIFT::create();

break;

caseSURF:

fd=xfeatures2d::SURF::create();

break;

把第239-245行的

caseSIFT:

de=xfeatures2d::SIFT::create();

break;

caseSURF:

de=xfeatures2d::SURF::create();

break;

把第254-256行的

caseFREAK:

de=xfeatures2d::FREAK::create();

break;

一共4个地方改好 重新编译一下 重新导入模块和os就不会报错了

你可能感兴趣的:(OpenCV Android Could not find SURF 图片匹配报错)