Open CV 在windows環(huán)境初始化和 Java 動(dòng)態(tài)庫加載方式介紹
前言
OpenCV(Open Source Computer Vision Library)
是一個(gè)開源的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)軟件庫,它提供了一系列的工具和程序庫,讓用戶能夠進(jìn)行復(fù)雜的圖像處理和計(jì)算機(jī)視覺任務(wù)。以下是一些 OpenCV 常用的功能:
- 圖像讀取和保存:讀取和保存圖像文件,支持多種圖像格式。
- 圖像處理:包括圖像縮放、旋轉(zhuǎn)、裁剪、變換、濾波、邊緣檢測(cè)等。
- 圖像增強(qiáng):亮度調(diào)整、對(duì)比度調(diào)整、直方圖均衡化、顏色調(diào)整等。
- 特征檢測(cè)和描述:例如檢測(cè)圖像中的角點(diǎn)、邊緣、特定特征等,提取關(guān)鍵點(diǎn)的描述子。
- 物體檢測(cè)和識(shí)別:包括人臉檢測(cè)、目標(biāo)檢測(cè)、圖像分類等。
- 目標(biāo)跟蹤:跟蹤視頻中的目標(biāo)對(duì)象的運(yùn)動(dòng)。
- 視頻處理:包括視頻讀取、保存、剪輯、轉(zhuǎn)碼等功能。
- 光流估計(jì):計(jì)算圖像中像素的運(yùn)動(dòng)信息。
- 三維重建:從多個(gè)圖像中重建三維場(chǎng)景。
- 攝像頭和實(shí)時(shí)視頻處理:從攝像頭讀取實(shí)時(shí)視頻流,進(jìn)行實(shí)時(shí)圖像處理。
- 機(jī)器學(xué)習(xí)支持:提供了一些機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn),例如支持向量機(jī)、隨機(jī)森林等。
- CUDA 加速:使用 NVIDIA 的 CUDA 技術(shù)加速圖像處理和計(jì)算。
這些只是 OpenCV 提供的一些基本功能,還有更多功能和算法可以在 OpenCV 中使用。
OpenCV安裝
官網(wǎng)
https://opencv.org/releases/page/2/
opencv-4.4.0下載
https://nchc.dl.sourceforge.net/project/opencvlibrary/4.4.0/opencv-4.4.0-vc14_vc15.exe
安裝
雙擊安裝選擇安裝目錄等待安裝完畢,jar包就在以下目錄
D:\Program Files\opencv4.4\opencv\build\java
加載opencv-4.4.0.jar包
jar包引入
將OpenCV jar(例如 opencv-xxx.jar)添加到項(xiàng)目的類路徑中。
如果你使用的是構(gòu)建系統(tǒng)(如Maven或Gradle),需要確保適當(dāng)?shù)囊蕾図?xiàng)已經(jīng)配置在你的構(gòu)建文件中。
jar包資源目錄我改了名稱opencv-4.4.0.jar
mavn-init.cmd
mavn-init.cmd
是一個(gè)批處理腳本,可以把jar包裝載到本地maven倉庫
@echo off
chcp 65001
echo ****************************************
echo 安裝SDK依賴包到本地maven倉庫
echo ****************************************
call mvn install:install-file -DgroupId=org -DartifactId=opencv -Dversion=4.4.0 -Dpackaging=jar -Dfile=opencv-4.4.0.jar
pause
jar包裝載到本地maven倉庫
pom.xml
maven引入本地倉庫的opencv-4.4.0.jar
包
<dependencies>
<dependency>
<groupId>org</groupId>
<artifactId>opencv</artifactId>
<scope>compile</scope>
<version>4.4.0</version>
</dependency>
</dependencies>
加載動(dòng)態(tài)庫
加載動(dòng)態(tài)庫opencv_java440.dll:
關(guān)于動(dòng)態(tài)庫加載的講解可以看我的另一篇文章
Java中加載本地庫的方法:System.load與System.loadLibrary
在Java中使用OpenCV涉及到環(huán)境初始化和動(dòng)態(tài)庫加載。
以下是一些基本步驟和方法來設(shè)置OpenCV環(huán)境并在Java中加載相關(guān)的動(dòng)態(tài)庫。
這里我們簡(jiǎn)單介紹,實(shí)際使用自主選擇
方式一:System.loadLibrary
添加OpenCV_DIR環(huán)境變量,指向OpenCV的安裝目錄或構(gòu)建目錄中的某個(gè)文件夾,通常是build/java或build/bin。
將OpenCV的bin目錄(其中包含DLL文件)添加到系統(tǒng)的PATH環(huán)境變量中,以便系統(tǒng)可以找到OpenCV的動(dòng)態(tài)鏈接庫。
在Java中加載OpenCV的動(dòng)態(tài)庫通常涉及到System.loadLibrary方法。以下是加載OpenCV動(dòng)態(tài)庫的步驟:
public class ImageBlur {
static {
// 加載 OpenCV 的本地庫
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
}
}
方式二:System.load
調(diào)用System.loadLibrary(Core.NATIVE_LIBRARY_NAME)來加載OpenCV的動(dòng)態(tài)庫。Core.NATIVE_LIBRARY_NAME會(huì)解析為在當(dāng)前平臺(tái)上對(duì)應(yīng)的動(dòng)態(tài)庫名稱,例如,在Windows上通常是opencv_javaxxx,其中xxx是庫的版本號(hào)。
java
public class ImageBlur {
static {
// 加載 OpenCV 的本地庫
System.load("D:/WORK/WORK_PLUS/aiface-plus-dev/runner/target/classes/dll/x64/opencv_java440.dll");
}
}
驗(yàn)證加載:
為了驗(yàn)證OpenCV庫是否正確加載,你可以嘗試調(diào)用一些基礎(chǔ)的OpenCV函數(shù),如創(chuàng)建一個(gè)簡(jiǎn)單的矩陣,并打印它來確保一切正常。
public static void main(String[] args) {
Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
System.out.println("mat = " + mat.dump());
}
在使用IDE(如IntelliJ IDEA或Eclipse)時(shí),通常有助于使用IDE的工具和功能來簡(jiǎn)化庫的添加和管理過程。
以上步驟和方法為在Java環(huán)境中初始化OpenCV及加載其動(dòng)態(tài)庫提供了基本的指南,具體細(xì)節(jié)可能根據(jù)OpenCV的不同版本、操作系統(tǒng)或項(xiàng)目配置而有所不同。文章來源:http://www.zghlxwxcb.cn/news/detail-790500.html
以上完成基本的opencv環(huán)境配置后就可以愉快的使用了文章來源地址http://www.zghlxwxcb.cn/news/detail-790500.html
Open CV 專欄導(dǎo)航
- (一)Open CV 在windows環(huán)境初始化和 Java 動(dòng)態(tài)庫加載方式介紹
- (二)Open CV 從基本概念到實(shí)踐操作
- (三)使用 Open CV 在 Java 中進(jìn)行基本的圖片縮放操作
- (四)使用 Open CV 在 Java 中進(jìn)行基本的圖片模糊處理
- (五)Java 使用 Open CV 的繪圖函數(shù)
- (六)在Java中使用 Open CV進(jìn)行圖片翻轉(zhuǎn)和圖片旋轉(zhuǎn)
- (七)學(xué)習(xí) OpenCV 的圖像增強(qiáng)和邊緣檢測(cè)功能
到了這里,關(guān)于Open CV 圖像處理基礎(chǔ):(一)Open CV 在windows環(huán)境初始化和 Java 動(dòng)態(tài)庫加載方式介紹的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!