javaCV全系列文章汇总整理
前言
JavaCV更新到1.5.x版本,依赖包也迎来了很大变化,体积也变大了不少。
很多小伙伴们反馈,之前很多1.3.x和1.4.x版本的包路径都找不到了,也就是说JavaCV1.5.x和之前版本已经不兼容了。 所以本章就单独讲讲JavaCV各个依赖库彼此之间的关系,当然还有面对越来越庞大的依赖包大小,本章还要再讲讲如如何精简依赖包的大小,去除不需要的依赖项。
JavaCV模块依赖说明
1.5.x版本依赖及包路径说明
以ffmpeg举例,1.5.x开始包路径修改为:
import org.bytedeco.ffmpeg.avcodec,
import static org.bytedeco.ffmpeg.global.avcodec.*;,
import static org.bytedeco.ffmpeg.global.avformat.*;以opencv举例,1.5.x开始包路径修改为:import org.bytedeco.opencv.opencv_core;
import org.bytedeco.opencv.global.opencv_imgcodecs;
import org.bytedeco.opencv.global.opencv_imgproc;以tesseract举例,1.5.x开始包路径修改为:org.bytedeco.tesseract
以videoinput举例,1.5.x开始包路径修改为:org.bytedeco.videoinput
1.5.x版本依赖配置
- 1.5.x版本的maven依赖配置
<dependency> <groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.5.4</version></dependency>
- 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.*;
- maven依赖配置
<dependency> <groupId>org.bytedeco</groupId><artifactId>javacv-platform</artifactId><version>1.4.4</version></dependency>
- 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原创文章,欢迎“关注、点赞、收藏”三连。