zoukankan      html  css  js  c++  java
  • 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原创文章,欢迎“关注、点赞、收藏”三连。

  • 相关阅读:
    Python 安装Twisted 提示python version 2.7 required,which was not found in the registry
    Openfire Strophe开发中文乱码问题
    css div 垂直居中
    How to create custom methods for use in spring security expression language annotations
    How to check “hasRole” in Java Code with Spring Security?
    Android 显示/隐藏 应用图标
    Android 当媒体变更后,通知其他应用重新扫描
    文件上传那些事儿
    专题:点滴Javascript
    主流动画实现方式总结
  • 原文地址:https://www.cnblogs.com/eguid/p/14275536.html
Copyright © 2011-2022 走看看