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原創文章,歡迎“關注、點贊、收藏”三連。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM