• 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方式类推。

    —end—

    支持eguid原创文章,欢迎“关注、点赞、收藏”三连。

  • 相关阅读:
    剑指offer(4)
    剑指offer(3)
    剑指offer(2)
    剑指offer(1)
    (二)Wireshark的实用表格
    RedHat Enterprise Linux 6.4使用yum安装出现This system is not registered to Red Hat Subscription Management
    Android:简单的图片浏览器
    rpm和yum
    良心推荐!GitHub14400颗星!非常不错的机器学习指南
    Python中免验证跳转到内容页的实例代码
  • 原文地址:https://www.cnblogs.com/eguid/p/14275536.html
Copyright © 2020-2023  润新知