专栏首页eguid开源技术分享JavaCV更新到1.5.x版本后的依赖问题说明以及如何精简依赖包大小

JavaCV更新到1.5.x版本后的依赖问题说明以及如何精简依赖包大小

javaCV全系列文章汇总整理

javacv教程文档手册开发指南汇总篇

前言

JavaCV更新到1.5.x版本,依赖包也迎来了很大变化,体积也变大了不少。 很多小伙伴们反馈,之前很多1.3.x和1.4.x版本的包路径都找不到了,也就是说JavaCV1.5.x和之前版本已经不兼容了。 所以本章就单独讲讲JavaCV各个依赖库彼此之间的关系,当然还有面对越来越庞大的依赖包大小,本章还要再讲讲如如何精简依赖包的大小,去除不需要的依赖项。

JavaCV模块依赖说明

1.5.x版本依赖及包路径说明

  1. 以ffmpeg举例,1.5.x开始包路径修改为: import org.bytedeco.ffmpeg.avcodec, import static org.bytedeco.ffmpeg.global.avcodec.*;, import static org.bytedeco.ffmpeg.global.avformat.*;
  2. 以opencv举例,1.5.x开始包路径修改为:import org.bytedeco.opencv.opencv_core; import org.bytedeco.opencv.global.opencv_imgcodecs; import org.bytedeco.opencv.global.opencv_imgproc;
  3. 以tesseract举例,1.5.x开始包路径修改为:org.bytedeco.tesseract
  4. 以videoinput举例,1.5.x开始包路径修改为:org.bytedeco.videoinput

1.5.x版本依赖配置

  1. 1.5.x版本的maven依赖配置
<dependency>
	 <groupId>org.bytedeco</groupId>
	<artifactId>javacv-platform</artifactId>
	<version>1.5.4</version>
</dependency>
  1. 1.5.x版本的gradle依赖配置
dependencies {
    compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.5.4'
  }

1.3.x和1.4.x版本的模块依赖

以ffmpeg举例,1.3.x和1.4.x版本(1.5.x之前版本)的包路径: org.bytedeco.javacpp.avcodec.*;org.bytedeco.javacpp.avformat.*;

  1. maven依赖配置
<dependency>
	 <groupId>org.bytedeco</groupId>
	<artifactId>javacv-platform</artifactId>
	<version>1.4.4</version>
</dependency>
  1. gradle依赖配置
dependencies {
    compile group: 'org.bytedeco', name: 'javacv-platform', version: '1.4.4'
  }

如何精简JavaCV依赖项

例如下面这个配置,只需要基础javacv、javacpp和ffmpeg,就不会依赖其他不需要的包了。

	<!--javacv基础包,包含javacv和javacpp,必须-->
	<dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>javacv</artifactId>
      <version>1.5.4</version>
    </dependency>
     <!-- ffmpeg,可选 -->
    <dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>ffmpeg-platform</artifactId>
      <version>4.3.1-1.5.4</version>
    </dependency>

只需要opencv,可以这样配置:

<!--javacv基础包,包含javacv和javacpp,必须-->
	<dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>javacv</artifactId>
      <version>1.5.4</version>
    </dependency>
    <!-- opencv,可选 -->
	 <dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>opencv-platform</artifactId>
      <version>4.4.0-1.5.4</version>
    </dependency>

只引用javacv依赖,实际上包含javacv、javacpp和各个其他依赖库的封装层,不包含ffmpeg、opencv等系统环境的本地库(native library):

	<dependency>
      <groupId>org.bytedeco</groupId>
      <artifactId>javacv</artifactId>
      <version>1.5.4</version>
    </dependency>

gradle方式参照maven方式类推。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Differences between OpenCV JavaCV and OpenCV4Android

    本文将介绍OpenCV,JavaCV以及OpenCV for Android(以下简称OpenCV4Android)之间的区别,并以一个人脸识别的Android...

    宅男潇涧
  • Spring Cloud 多版本怎么选择?帮你解惑!

    Java技术栈
  • 搞事情?Spring Boot今天一口气发布三个版本

    各位好,我是A哥(YourBatman)。今天是2020-07-25,上午我正从https://start.spring.io准备down一个工程下来的时候,打...

    YourBatman
  • 初窥dep

    霡霂
  • Spring Boot 1.5.x新特性:动态修改日志级别

    前天Spring Boot 1.5终于迎来了第一个RELEASE版本:1.5.0,但是由于一个编译依赖问题在第二天直接连击到了1.5.1。该版本的发布包含了超过...

    程序猿DD
  • Requests库作者Kenneth Reitz的另一神作!虚拟环境及包管理工具Pipenv!

    我们在运行 Python 项目的时候经常会遇到一些版本问题,例如 A 项目依赖于 Django 1.5,而 B 项目又依赖 Django 2.0,而我们的系统却...

    崔庆才
  • 搞事情?Spring Boot今天一口气发布三个版本

    各位好,我是A哥(YourBatman)。今天是2020-07-25,上午我正从https://start.spring.io准备down一个工程下来的时候,打...

    YourBatman
  • 你不知道的npm

    作为 node 自带的包管理器工具,在 nodejs 社区和 web 前端工程化领域发展日益庞大的背景下,npm已经成为每位前端开发同学必备的工具。

    前端森林
  • Spring Cloud微服务初探

    初次接触Spring Cloud,一看到各种版本,刚开始有点懵逼。给大家看下最新的Spring Cloud的版本是什么样子的。

    猿天地

扫码关注云+社区

领取腾讯云代金券