我正在尝试在树莓派上安装OpenCV,并且在多次尝试配置cmake之后,已经成功产生了opencv-400.jar和libopencv_java400.so。网络上的各种指南都没有说明下一步该怎么做。
我在类路径中有jar文件,测试代码可以正常编译,并且打印出System.getProperty("java.library.path")
包括包含.so文件的目录。在另一个目录/ usr / local / lib中,make进程放置了一堆.a文件。通过使库不共享所需部分而表示的cmake指令将全部放入java .so文件中。我不确定这是否有意义?我还必须将/ usr / local指定为构建前缀-也许那应该是pi上的其他名称?
System.loadLibrary(“ opencv_java400”)行产生了未经修饰的分段错误。
...这当然不应该。如果有人将rpi摄像机连接到opencv并从java访问它,也许您可以共享cmake参数。
答案 0 :(得分:0)
恢复到opencv 3.3.0之后,我不需要弄清楚cmake了,我让opencv用c ++在pi上工作。然后,我将所需的opencv命令包装在JNI中...,但仍然出现段错误。然后,我学会了使用gdb并非常迅速地将错误跟踪到libopenmpt。快速搜索说,这在内存不足时会导致分段错误。
在这种情况下,解决方案是运行java -Xss128m ...
来运行我的代码。
我猜这是从内置的Java组件中使用opencv 4的修复程序。