RPI上的OpenCV-System.loadLibrary中的分段错误

时间:2019-05-21 13:48:29

标签: java opencv raspberry-pi

我正在尝试在树莓派上安装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参数。

1 个答案:

答案 0 :(得分:0)

恢复到opencv 3.3.0之后,我不需要弄清楚cmake了,我让opencv用c ++在pi上工作。然后,我将所需的opencv命令包装在JNI中...,但仍然出现段错误。然后,我学会了使用gdb并非常迅速地将错误跟踪到libopenmpt。快速搜索说,这在内存不足时会导致分段错误。

在这种情况下,解决方案是运行java -Xss128m ...来运行我的代码。

我猜这是从内置的Java组件中使用opencv 4的修复程序。