JNI、NDK 和 OpenCV
Posted
技术标签:
【中文标题】JNI、NDK 和 OpenCV【英文标题】:JNI, NDK, and OpenCV 【发布时间】:2013-09-22 11:37:07 【问题描述】:我最近开始使用 android NDK,并成功实现了一些简单的 Android 应用。我需要从图像中检测对象(正方形和矩形)。我的研究表明 OpenCV 是解决这个问题的方法。 This 是我用来从图像中检测正方形的算法。
但是,我不清楚应该如何在我的代码中使用 squares.cpp 文件。 OpenCV 示例展示了如何使用 JNI 格式的 cpp 文件。我需要将 squares.cpp 文件转换为 JNI 还是有其他可行的解决方案?
谢谢。欢迎所有建议和反馈。
【问题讨论】:
【参考方案1】:您不必将 squares.cpp
文件转换为 JNI。
从您的 Java 代码中,您将调用一个 JNI 函数(我想您在已实现的“几个简单的 Android 应用程序”中所做的那样)然后将调用 squares.cpp
中的函数。
换句话说,你基本上只需要从 Java 中调用一个 JNI 函数,一旦你在 C++ 代码中,你就可以像往常一样在 C++ 中编码。
【讨论】:
cpp 文件的链接(在我的问题中提供)没有任何 JNI 功能。那么我要手动创建它们吗? 看看样品是如何制作的。基本上有一个使用 JNI 对 C++ 函数的 Java 调用。但是,在这个“JNI 函数”内部,一切都是 C++。然后,您可以在此函数中编写普通 C++,并调用“squares.cpp”。 对。谢谢你的提示。我现在正在努力。很快就会告诉你结果如何以上是关于JNI、NDK 和 OpenCV的主要内容,如果未能解决你的问题,请参考以下文章