opencv 编译为java依赖最佳实践
背景
OpenCV使用领域越来越广,但作为c++开源软件,作者更新维护并不及时,另外其他第三方java转换方式更加无法及时同步最新版本。
最新版本为4.9.0(20240124)
OpenCV 使用java依赖的几种方式
- 使用JavaCV,包含组件较多,大而全,无法及时推出stable发行版;
- org.bytedeco, 目前开发版兼容,但同样无最新stable发行版;
- 其他第三方产品化的开发版,大多数仅支持移动端(android)
- 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的文章,大同小异
下载opencv 或 opencv_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工程:
然后执行打包命令:
mvn install
即可得到Java工程可直接引用的opencv-490.jar文章来源:https://www.toymoban.com/news/detail-856886.html
4、若需要maven坐标的依赖包,并在maven工程中依赖使用,则继续执行:文章来源地址https://www.toymoban.com/news/detail-856886.html
mvn install:install-file -Dfile=/home/.../src/main/resources/opencv-490.jar -DgroupId=org.opencv -DartifactId=opencv -Dversion=4.9.0 -Dpackaging=jar
到了这里,关于OpenCV 编译为java依赖最佳实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!