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原创文章,欢迎“关注、点赞、收藏”三连。

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

  1. vue 更新了vue-cli到最新版本后引发的问题: require和import、vue-loader的问题

    "vue-loader": "^12.1.0", "vue-loader": "^12.1.0", "vue- ...

  2. pip更新到18版本后使用pycharm更新问题:module 'pip' has no attribute 'main'

    今天升级pip到18.0版本后更新模块时出现错误 分析报错信息可知,问题出在packaging_tool.py文件的213行和109行,找到具体的代码,如下 # 109行函数 def do_insta ...

  3. [转]关于sdk更新Android SDK Tools 25.3.1版本后使用sdk manager闪退

    昨天这两个manager还工作正常,今天更新了一下,发现不可用了,运行avd manager和sdk manager没反应,搜了好多文章,然后看到了下这篇文章<关于sdk更新Android SD ...

  4. ubuntu 刚更改默认python3版本后更新包等

    一般来说ubuntu 刚更改为python3为默认版本后要进行一下更新包等等的内容(当然不更新一下也是可以的,最好更新一下,第一次更新较慢) 使用下面两行代码: sudo apt-get update ...

  5. 升级R版本后,更新Package

    升级R版本后,若重新安装所有的package将非常麻烦,可以尝试运行一下程序: 1)在旧版本中的R中运行 #--run in the old version of R setwd("C:/T ...

  6. 基于Metronic的Bootstrap开发框架经验总结(15)-- 更新使用Metronic 4.75版本

    在基于Metronic的Bootstrap开发框架中,一直都希望整合较新.较好的前端技术,结合MVC的后端技术进行项目的开发,随着时间的推移,目前Metronic也更新到了4.75版本,因此着手对这个 ...

  7. 20190726_安装CentOS7minimal版本后需要做的优化和配置

    20190726_安装CentOS7minimal版本后需要做的优化和配置 CentOS系统镜像下载地址:https://www.centos.org/ CentOS的Minimal(最小化安装版本) ...

  8. Alpha版本后的心得体会

    Alpha版本后的心得体会 在我们一系列的努力之下,我们团队打造的校园互助式快递代取APP——U-Help的α版本终于能够问世了.尽管这个版本存在着这样那样的问题,但是我们还是对此抱有充足的信心.另一 ...

  9. 微信小程序热更新,小程序提示版本更新,版本迭代,强制更新,微信小程序版本迭代

    相信很多人在做小程序的时候都会有迭代每当版本迭代的时候之前老版本的一些方法或者显示就不够用了这就需要用到小程序的热更新.或者说是提示升级小程序版本 editionUpdate:function(){ ...

随机推荐

  1. JQuery获取父,子,兄弟节点

    jQuery.parent(expr) // 查找父节点,可以传入expr进行过滤,比如$("span").parent()或者$("span").parent ...

  2. 深入分析 Java 乐观锁

    前言 激烈的锁竞争,会造成线程阻塞挂起,导致系统的上下文切换,增加系统的性能开销.那有没有不阻塞线程,且保证线程安全的机制呢?--乐观锁. 乐观锁是什么? 操作共享资源时,总是很乐观,认为自己可以成功 ...

  3. Ionic学习记录

    1.跨域问题 浏览器中的运行 当你运行 ionic serve 时发生了什么呢? 启动了一个本地 web 服务器 你的浏览器打开并定位到本地服务器地址 这让你看着你的应用加载到你电脑上一个浏览器里,地 ...

  4. Android原子操作——android_atomic_cmpxchg

    网络给我们带来了很多方便,查阅我们目前认知范围外的道理.但是,凡事也要学会分辨,不然可能会误导你. 话说,最近的一个项目(Mercury-Project),接近尾声中.然而,在调试一个demo时,却遇 ...

  5. Docker部署Portainer搭建轻量级可视化管理UI

    1. 简介   Portainer是一个轻量级的可视化的管理UI,其本身也是运行在Docker上的单个容器,提供用户更加简单的管理和监控宿主机上的Docker资源. 2. 安装Docker   Doc ...

  6. Docker(五):Docker安装Elasticsearch

    查找ElasticSearch镜像 镜像仓库 https://hub.docker.com/ 下拉镜像 docker pull elasticsearch:7.7.0 查看镜像 docker imag ...

  7. 2020-2021-1 20209307《Linux内核原理与分析》第五周作业

    一.理论知识 系统调用:操作系统为用户态进程与硬件设备进行交互提供的一组接口. 系统调用的三层皮:API(应用程序接口),中断向量system_call,中断服务程序sys_xyz 宏观上Linux操 ...

  8. git远程仓库Github

    一.克隆项目 git clone 网址 1.配置信息 git config user.name '用户名' git config user.email '邮箱号' 2.推送项目到远程仓库 # 工作区代 ...

  9. ES6新增数据类型Symbol

    Symbol的含义? ES6(2015) 引入了第七种原始数据类型Symbol,Symbol英文文意思为 符号.象征.标记.记号,在 js 中更确切的翻译应该为独一无二的 Symbol的使用? Sym ...

  10. [JVM工具(1)] 堆栈检查利器jstat的使用

    jstat 可以检查 JVM 整体的运行情况,可以看到 新生代,老年代等的内存使用情况,以及GC 次数和耗时 命令格式 如 jstat -<option> [-t] [-h<line ...