OpenCV 编译为java依赖最佳实践

本文介绍了如何在OpenCV4.9.0版本中使用Java编程,包括使用JavaCV、org.bytedeco的替代方法,以及详细步骤指导如何手动编译OpenCV为Java库,包括opencv_contrib的集成,以及Maven坐标设置。
摘要由CSDN通过智能技术生成

opencv 编译为java依赖最佳实践

背景

OpenCV使用领域越来越广,但作为c++开源软件,作者更新维护并不及时,另外其他第三方java转换方式更加无法及时同步最新版本。
最新版本为4.9.0(20240124)

OpenCV 使用java依赖的几种方式

  1. 使用JavaCV,包含组件较多,大而全,无法及时推出stable发行版;
  2. org.bytedeco, 目前开发版兼容,但同样无最新stable发行版;
  3. 其他第三方产品化的开发版,大多数仅支持移动端(android)
  4. OpenPnp打包,且作者解决了不同java版本兼容和不同操作系统的依赖包引用问题。
    4.1.方式一:
    直接引用OpenPnp编译好的Maven依赖,但无opencv_contrib ;
   <dependency>
      <groupId>org.openpnp</groupId>
      <artifactId>opencv</artifactId>
      <version>4.9.0-0</version>
    </dependency>

4.2 方式二:
手动自行编译【本文使用的自编译方式处理的目的是为了获取第三方贡献的opencv_contrib项目依赖包】,以下步骤为简单示例

编译 opencv为 java lib步骤

1、git下载 openpnp工程

2、编译OpenCV源码
以下为Linux系统示例,Windows/Mac参考其他编译OpenCV的文章,大同小异

下载opencvopencv_contrib源码编译

make build & cd build

cmake -DBUILD_SHARED_LIBS=OFF -D BUILD_opencv_java=ON -D BUILD_opencv_java_bindings_generator=ON ..
# 注意:检查是否有生成java模块(必须)。

make -j8

make install

3、将生成的不同操作系统下libopencv_java490.so、opencv_java490.ddl以及opencv-490.jar 复制到openpnp工程相对应目录下

OpenPnp工程:
OpenPnp工程

然后执行打包命令:

mvn install 

即可得到Java工程可直接引用的opencv-490.jar

4、若需要maven坐标的依赖包,并在maven工程中依赖使用,则继续执行:

mvn install:install-file -Dfile=/home/.../src/main/resources/opencv-490.jar -DgroupId=org.opencv -DartifactId=opencv -Dversion=4.9.0 -Dpackaging=jar
  • 10
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值