如何在NDK Android中使用Java?

cja*_*ant 6 java-native-interface android opencv android-ndk

我假设在这里使用OpenCV代码:http: //github.com/billmccord/OpenCV-Android#readme 是使用NDK在Android上使用OpenCV的最佳方式.

我仍然坚持如何从函数的C定义到我在Android项目中在OpenCV.java中声明的函数定义

cvFindContours( void*  img,  CvMemStorage*  storage, 
                CvSeq**  firstContour, int  cntHeaderSize, 
                int  mode, 
                int  method, CvPoint offset ) --> findContours(int[] 
data, int w, int h) ) 
Run Code Online (Sandbox Code Playgroud)

任何帮助/指示赞赏,甚至在哪里开始计算出来.我目前想用cvHoughCircles, cvHoughCircles(CvArr* image, void* circle_storage, int method, double dp, double min_dist, double param1 = 100, double param2 = 300, int min_radius = 0, int max_radius = 0};

我怎么用java编写这个用ndk for android?

pet*_*sev 6

您的应用是否需要C接口?OpenCV实际上认为它已弃用/完成,新API是C++.此界面和示例校准应用程序的端口位于:http://code.google.com/p/android-opencv/

我花了一段时间才买到新的C++,但我不得不承认没有必要做cvReleaseMat()并且在IplImage和CvMat之间来回切换是很好的.Opencv 2.1 doc:http://opencv.willowgarage.com/documentation/cpp/index.html


Pat*_*fka 2

查看 ndk (hello-jni) 中的 Android 示例。它们位于 NDK 的 apps 目录中。它们展示了如何导入库并调用本机方法。在 C 方面,您必须为您的方法提供正确的 jni 命名约定 Java_...完全限定的 java 类名,使方法成为外部方法,并包含以使它们可访问。

此外,NDK 的 docs 目录包含有关构建和运行本机代码的所有文档。