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 &#39;pip&#39; has no attribute &#39;main&#39;

    今天升级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(){ ...

  10. SVN使用_获取某版本后改动的文件列表

    本章将讲解如何通过svn命令获取某版本后改动的所有文件 一键操作,告别svn log的繁杂对比工作. 1:安装SVN命令行工具Subversion(不是TortoiseSVN) 下载Subversio ...

随机推荐

  1. Linux 编译 websocket++

    下载boost 库wget -O boost_last.zip http://downloads.sourceforge.net/project/boost/boost/1.58.0/boost_1_ ...

  2. HZNU1015: 矩阵排序

    http://acm.hznu.edu.cn/JudgeOnline/problem.php?id=1015 题意:把矩阵每一行都排序. (以前觉得很难的题目回头看看原来如此简单 ][]; ; i&l ...

  3. 知识点3-6:HTML辅助方法

    顾名思义,HTML辅助方法(HTML Helper)就是用来辅助产生HTML之用,在开发View的时候一定会面对许多HTML标签,处理这些HTML的工作非常繁琐,为了降低View的复杂度,可以使用HT ...

  4. github jekyll site不再使用Maruku由于Markdown翻译员,但kramdown

    今天写了一篇博客,之push至jekyll site on github在,发现总是错的,例如,下面的电子邮件消息: The page build completed successfully, bu ...

  5. apk当安装程序将文件复制到手机自带的指定文件夹

    项目已获得,今天.apk文件以获得另一个非调试手机,发现一个问题. 由于涂料.所以绘图数据的点存储在一个.txt文字档.把它用usb传到指定目录下的,可是明显不科学,由于用户下载了你的.apk文件,你 ...

  6. Yii CDBCriteria常用方法

    Yii CDbCriteria 常用方法 注:$c = new CDbCriteria();是ActiveRecord的一种写法,使ActiveRecord更加灵活,而不是手册中DAO(PDO)和Qu ...

  7. 在js中如何得到上传文件的大小。

    <html>  <head>  <script language="javascript">    function getSize() {   ...

  8. C++ 初读vector

    vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象. Character 高效 C++标准要 ...

  9. idea设置utf-8

  10. 找不到 EntityType “ ” 的映射和元数据信息。

    意思是: 数据库里边有添加的新字段DB1,而程序中的的实体即“元数据”中没有这个新字段Et1,由于EntityFramework更新模型时已自动默认对DB1和Et1进行了映射(默认认为实体中存在这个字 ...