当前位置:   article > 正文

OpenCV 编译为java依赖最佳实践_opencv 编译java

opencv 编译java

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>
  • 1
  • 2
  • 3
  • 4
  • 5

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

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

OpenPnp工程:
OpenPnp工程

然后执行打包命令:

mvn install 
  • 1

即可得到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
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/623262
推荐阅读
相关标签
  

闽ICP备14008679号