Linux环境Java通过jni调用C++ OpenCv代码

配置方法和Mac环境下的相同:
Mac终端连接Linux服务器 用ssh
【安装OpenCV】官网下载opencv-3.4.0.tar.gz,cmake安装
参考下面的方法http://blog.51cto.com/sunwangbackup/1965115
这三句话是编译java代码,生成头文件.h,生成.so动态库

javac ImageProcess.java
javah -jni ImageProcess
g++ processImpl.cpp -I/.../opencv/include/opencv -I/.../opencv/include -L/.../opencv/lib -lopencv_core -lopencv_imgproc -lopencv_highgui -I/usr/java/jdk1.8.0_45/include/ -I/usr/java/jdk1.8.0_45/include/linux -shared -fPIC -o libprocess.so

这是添加java library path的方法

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/tmp/yizhu.wu/test"

注意传入的参数是byte[]数组,在Mac中Cpp代码传入的应该是jobject,如果在Linux中出错,将jobject改成jbyteArray
多次尝试发现这样改了Linux才可以跑。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值