欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中使用opencv的問題

 更新時間:2023年10月31日 14:17:49   作者:我啥都會  
這篇文章主要介紹了Java中使用opencv的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

作為圖像處理出身,不僅僅要會C++圖像處理、matlab圖像處理、python圖像處理、最起碼也得會java圖像處理,當(dāng)然我最終還都用的是opencv這個機(jī)器視覺庫了。

今天簡單介紹一下java中如何使用opencv。

一、配置庫

(1)官網(wǎng)下載opencv,在opencv\build\java\以及opencv\build\java\x64下提取jar包以及動態(tài)庫。

(2)以springboot舉例,在resources下創(chuàng)建lib/opencv文件夾,并將這兩個包放進(jìn)去。

(3) 在pom.xml添加依賴如下(或者其他方式添加依賴均可)

<dependency>
            <groupId>org</groupId>
            <artifactId>opencv</artifactId>
            <scope>system</scope>
            <systemPath>${project.basedir}\src\main\resources\lib\opencv\opencv-440.jar</systemPath>
</dependency>

注意版本要修改成你自己opencv的版本。

至此,配置完成。

二、其他知識

在java中調(diào)用dll:

// 加載動態(tài)庫
URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");
System.load(url.getPath());

三、簡單的例子

(1)創(chuàng)建一個springboot項目,在測試類中編寫代碼      

讀圖像以及灰度化:

package testopencv.demo;
 
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
 
import java.net.URL;
 
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.imgcodecs.Imgcodecs.imwrite;
import static org.opencv.imgproc.Imgproc.COLOR_RGB2GRAY;
import static org.opencv.imgproc.Imgproc.cvtColor;
 
@RunWith(SpringRunner.class)
@SpringBootTest
class DemoApplicationTests {
    /**
     * @return
     * @Description
     * @Param
     * @Author zhangsan
     * @Date 2020.09.05 9:43
     **/
    @Test
    public void testOpencv() throws Exception {
        // 解決awt報錯問題
        System.setProperty("java.awt.headless", "false");
        System.out.println(System.getProperty("java.library.path"));
        // 加載動態(tài)庫
        URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");
        System.load(url.getPath());
        // 讀取圖像
        Mat image = imread("C:\\Users\\admin\\Pictures\\hello.jpg");
        if (image.empty()) {
            throw new Exception("image is empty");
        }
        imshow("Original Image", image);
 
        // 創(chuàng)建輸出單通道圖像
        Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);
        // 進(jìn)行圖像色彩空間轉(zhuǎn)換
        cvtColor(image, grayImage, COLOR_RGB2GRAY);
 
        imshow("Processed Image", grayImage);
        imwrite("D://hello.jpg", grayImage);
        waitKey();
    }
}

效果:

四、結(jié)束

簡單介紹了java使用opencv的方法。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Flutter驗證碼輸入框的2種方法實現(xiàn)

    Flutter驗證碼輸入框的2種方法實現(xiàn)

    本文主要介紹了Flutter驗證碼輸入框的2種方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java利用泛型實現(xiàn)折半查找法

    Java利用泛型實現(xiàn)折半查找法

    泛型是JAVA重要的特性,使用泛型編程,可以使代碼復(fù)用率提高。查找作為泛型的一個簡單應(yīng)用,本文將使用泛型實現(xiàn)折半查找法,感興趣的可以了解一下
    2022-08-08
  • SpringBoot整合Java Web三大件的詳細(xì)過程

    SpringBoot整合Java Web三大件的詳細(xì)過程

    這篇文章主要介紹了SpringBoot整合Java Web三大件的詳細(xì)過程,注冊自定義的Servlet、Filter、Listener組件到springboot內(nèi)嵌的Servlet容器,讓它們發(fā)揮自己的作用,需要的朋友可以參考下
    2025-04-04
  • Java中的Hashtable源碼詳細(xì)解析

    Java中的Hashtable源碼詳細(xì)解析

    這篇文章主要介紹了Java中的Hashtable源碼詳細(xì)解析,Hashtable 的函數(shù)都是同步的,這意味著它是線程安全的,它的key、value都不可以為null,此外,Hashtable中的映射不是有序的,需要的朋友可以參考下
    2023-11-11
  • Java高級面試題小結(jié)

    Java高級面試題小結(jié)

    本文主要介紹了一些在Java面試過程中的一些高級面試題,包括對部分名詞的釋義及代碼解析,具有一定收藏價值,需要的朋友可以參考下
    2017-09-09
  • Spring的@PropertySource注解源碼解析

    Spring的@PropertySource注解源碼解析

    這篇文章主要介紹了Spring的@PropertySource注解源碼解析,就以源碼時序圖的方式,直觀的感受下@PropertySource注解在Spring源碼層面的執(zhí)行流程,需要的朋友可以參考下
    2023-11-11
  • maven實現(xiàn)docker自動化部署插件的使用

    maven實現(xiàn)docker自動化部署插件的使用

    本文主要介紹了maven實現(xiàn)docker自動化部署插件的使用,分享給大家,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 探討:使用httpClient在客戶端與服務(wù)器端傳輸對象參數(shù)的詳解

    探討:使用httpClient在客戶端與服務(wù)器端傳輸對象參數(shù)的詳解

    本篇文章是對使用httpClient在客戶端與服務(wù)器端傳輸對象參數(shù)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • Spring五大類注解讀取存儲Bean對象的方法

    Spring五大類注解讀取存儲Bean對象的方法

    這篇文章主要介紹了Spring五大類注解讀取存儲Bean對象,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • Java檢測線程中斷狀態(tài)的方法示例

    Java檢測線程中斷狀態(tài)的方法示例

    這篇文章主要介紹了Java檢測線程中斷狀態(tài)的方法,結(jié)合實例形式分析了java針對線程中斷狀態(tài)檢測的相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-10-10

最新評論