SpringBoot整合OpenCV的實現(xiàn)示例
簡介
接下來會講解怎么用SpringBoot整合OpenCV
初始化SpringBoot項目
這里正常初始一個SpringBoot項目

依賴文件
在安裝目錄下找到以下兩個文件,如果不知道怎么安裝OpenCV,可查看這篇文章,Windows下安裝OpenCV
opencv\build\java\opencv-420.jar
opencv\build\java\x64\opencv_java420.dll
在resource目錄下新建一個lib文件夾,然后將兩個文件復制到resource\lib下

項目添加lib
在項目中添加依賴,點擊“+”后選擇Java,其它如圖所示


測試
import org.junit.Test;
import org.opencv.core.Mat;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;
import static org.opencv.core.Core.merge;
import static org.opencv.core.Core.split;
import static org.opencv.highgui.HighGui.imshow;
import static org.opencv.highgui.HighGui.waitKey;
import static org.opencv.imgcodecs.Imgcodecs.imread;
import static org.opencv.imgproc.Imgproc.equalizeHist;
/**
* @ClassName OpenCVTest
* @Description TODO
* @Author L
* @Date Create by 2020/1/11
*/
public class OpenCVTest {
/**
* 測試OpenCV是否能運行:需要自行修改圖片位置
* @throws Exception 測試是否成功
*/
@Test
public void testOpenCV() throws Exception {
URL url = ClassLoader.getSystemResource("lib/opencv_java420.dll");
System.load(url.getPath());
//填你的圖片地址
Mat image = imread("E:\\opencv\\src\\main\\resources\\static\\opencv.png", 1);
if (image.empty()){
throw new Exception("image is empty!");
}
imshow("Original Image", image);
List<Mat> imageRGB = new ArrayList<>();
split(image, imageRGB);
for (int i = 0; i < 3; i++) {
equalizeHist(imageRGB.get(i), imageRGB.get(i));
}
merge(imageRGB, image);
imshow("Processed Image", image);
waitKey();
}
}
出現(xiàn)以下兩張圖,一張代表原始圖,一張代表處理過后的圖,即表示整合成功

到此這篇關(guān)于SpringBoot整合OpenCV的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot整合OpenCV內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mybatis-plus報錯net.sf.jsqlparser.statement.select.SelectBody的
本文主要介紹了mybatis-plus報錯net.sf.jsqlparser.statement.select.SelectBody的問題解決,具有一定的參考價值,感興趣的可以了解一下2024-08-08
Spring?Boot?使用斷言讓你的代碼在上線前就通過“體檢”(最新整理)
斷言是一種編程技巧,用于在代碼中插入檢查點,驗證程序的狀態(tài)是否符合預(yù)期,如果斷言失敗,程序會拋出一個錯誤,幫助你快速發(fā)現(xiàn)和修復bug,本文給大家介紹Spring?Boot?斷言:讓你的代碼在上線前就通過“體檢”,感興趣的朋友一起看看吧2025-03-03
Java訪問修飾符public、private、protected及默認訪問權(quán)限詳解
這篇文章主要介紹了Java訪問修飾符public、private、protected及默認訪問權(quán)限的相關(guān)資料,每種修飾符都有其特定的使用場景,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-01-01
淺談spring中的default-lazy-init參數(shù)和lazy-init
下面小編就為大家?guī)硪黄獪\談spring中的default-lazy-init參數(shù)和lazy-init。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04

