java - rpi 上的 OpenCV - System.loadLibrary 中的段错误

标签 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 上的其他内容?

The line System.loadLibrary("opencv_java400") produces an unadorned Segmentation fault.

...当然不应该。如果有人将 rpi 相机连接到 opencv 并从 java 访问它,也许您可​​以共享 cmake 参数。

最佳答案

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

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

我猜测,这是使用内置 java 组件中的 opencv 4 的修复程序。

关于java - rpi 上的 OpenCV - System.loadLibrary 中的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239782/

相关文章:

java - 使用 war 将 spring-boot 和 angular 7 应用程序部署到 tomcat 8.5 中

java - 在 Spring MVC 中绑定(bind)多个相同类型的命令对象

c++ - 检索 CV_32FC3 CvMat 的元素?

linux - Apt-Get 在解压 libboost1.55 时卡在 Raspberry Pi 上

java - 解析可用对象的奇怪 xml 响应

java - JSF 在验证异常后设置 div 类

c++ - Canny 边缘检测器未处理的异常

c++ - OpenCV: "libopencv_core.so.2.3: cannot open shared object file: No such file or directory"

node.js - 可以在树莓派中使用node.js来传输视频吗?

Python 属性错误 : 'module' object has no attribute 'Serial'