c++ - 使用 OpenCV 的 C++ 代码的 JNI 包装器

标签 c++ opencv java-native-interface

我必须在使用 NDK 的 Android 平台中使用 OpenCV 重用一些 C++ 代码。我已正确完成设置,但我不确定如何为 C++ 代码编写包装器。有人可以向我提供一些文档,以便我了解如何去做吗?到目前为止,我有:

using namespace cv;

void surf_detection(Mat img_1,Mat img_2);

void
Java_com_example_trafficvideo_MainActivity_countFromJNI( JNIEnv* env,
                                              jobject thiz ){
 /** @function main */

 int i;
 int key;

 CvCapture* capture = cvCaptureFromAVI("raw.TrafficVideoNew.mp4");// Read the video file

 if (!capture){

 std::cout <<" Error in capture video file";
.
.
.
.
.
.
.

我很确定这是错误的。任何帮助将不胜感激!

最佳答案

可以看一下SWIG .

它应该能够为您生成所有的 JNI 代码。

我大约一年前做过这个,我记得它并非没有痛苦。

关于c++ - 使用 OpenCV 的 C++ 代码的 JNI 包装器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22644306/

相关文章:

java - 在 64-Win 7 上的 32 位 JVM 中读取 C++ 中的 JNI-ByteBuffer 时发生访问冲突

c++ - 使用 DLL Hook 游戏 Hook

c++ - 如何确定任意 C++ 数字类型的实部类型?

c++ - GDB输出的解释

java - NewDirectByteBuffer 是否在 native 代码中创建拷贝

java - 为什么这个简单的 Java 字节码会导致 StackOverflow 错误?

c++ - 试图让简单的 ODB 'hello' 程序工作

c++ - OpenCV C++读取图像和修补程序NaN错误:在patchNaNs中断言失败(_a.depth()== CV_32F)

opencv - 使用 CUDA7.5 和 Ubuntu 16.04 安装 OpenCV3.1 出现奇怪错误

opencv - OpenCV-从网络摄像头读取时的缓冲区尺寸