Android studio 使用Android Studio';s C++;支持构建非自由OpenCV模块 背景

Android studio 使用Android Studio';s C++;支持构建非自由OpenCV模块 背景,android-studio,opencv,cmake,opencv4android,Android Studio,Opencv,Cmake,Opencv4android,尽管较旧版本的OpenCV(ie 2.4)允许Android项目利用SIFT功能,但将该功能分离为OpenCV\u contrib会使任务更加困难;将OpenCV-3.x.x-android-sdk模块集成到项目中会使您无法使用SIFT功能 FeatureDetector.create(FeatureDetector.DYNAMIC_SIFT); // Fails //OpenCV Error: Bad argument (Specified feature detector type is n

尽管较旧版本的OpenCV(ie 2.4)允许Android项目利用
SIFT
功能,但将该功能分离为
OpenCV\u contrib
会使任务更加困难;将
OpenCV-3.x.x-android-sdk
模块集成到项目中会使您无法使用
SIFT
功能

FeatureDetector.create(FeatureDetector.DYNAMIC_SIFT); // Fails
//OpenCV Error: Bad argument (Specified feature detector type is not supported.)
使用外部工具 尽管有一些技术描述了如何将OpenCV的非自由部分构建到Android项目中,但这个过程需要外部工具。这个问题是关于如何获得相同的结果,而是如何利用Android Studio/InteliJ的强大功能和便利性

在androidstudio中使用CMake 现代Android Studio版本具有有用的功能:

使用Android Studio 2.2和更高的,可以使用NDK将C和C++代码编译成本地库,并使用IDE的集成构建系统GADLE将其打包到APK中。然后,Java代码可以通过Java本机接口(JNI)调用本机库中的函数

如上面所指出的,可以快速将OpenCV4Android的OpenCV 3.1(和我怀疑其他版本)集成到新应用程序向导中生成的C++构建结构中。 我怀疑了解建筑项目细节的人可以利用这个机会来回答这个问题。我在这方面的专业知识是有限的,因此,这个问题


要使OpenCV的非自由部分完全在本机Android Studio构建过程中构建,需要哪些具体步骤?

您想访问Java contrib API吗?或者,你是否使用NDKE打开C++代码,目标是使用java;Android开发人员中有相当一部分不精通C++。我也在寻找,你成功实现了吗?SIFT是由A保护的。如果你在你的程序中使用它,你将面临诉讼。你已经在公共场所宣布了你想要侵犯专利的意图???好消息是,该专利将于2020年3月到期,因此如果你可以等待发布你的应用程序,那么你应该可以在那时发布。或者,您可以尝试始终免费的算法。但我不会撒谎,SIFT比ORB好一点。@bfris谢谢你的回答。我不会违反任何法律,只要我只是摆弄自己的筛选,这是我的计划。关于即将到期的专利的好消息!