關閉→
當前位置:知科普>IT科技>opencv - java

opencv - java

知科普 人氣:2.4W

opencv是屬於一個基於Apache2.0許可(開源)發行的跨平台計算機視覺與機器學習軟件庫,能夠運行在運行在Linux、Windows、Android和Mac OS操作系統上。此外,opencv還具有C ++、Python、Java與MATLAB接口,並且可以支持Windows、Linux、Android與Mac OS,opencv本身主要是傾向於實時視覺應用,並且能在可用時利用MMX和SSE指令。

java opencv

一般來説,在java中使用opencv需要先安裝好,可以在官網中下載opencv,然後在opencvbuildjava及opencvbuildjavax64下提取jar包以及動態庫,比如以springboot為例,可以在resources下創建lib/opencv文件夾,並且將這兩個包放進去,然後就可以在pom.xml添加依賴,當然也可以選擇其他方式添加依賴,不過一定要注意版本最好是要修改成opencv的版本才可。

java opencv 第2張

參考範例:

創建一個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"));

        // 加載動態庫

        URL url = ClassLoader.getSystemResource("lib/opencv/opencv_java440.dll");

        System.load(url.getPath());

        // 讀取圖像

        Mat image = imread("C:UsersadminPictureshello.jpg");

        if (image.empty()) {

            throw new Exception("image is empty");

        }

        imshow("Original Image", image);

        // 創建輸出單通道圖像

        Mat grayImage = new Mat(image.rows(), image.cols(), CvType.CV_8SC1);

        // 進行圖像色彩空間轉換

        cvtColor(image, grayImage, COLOR_RGB2GRAY);

        imshow("Processed Image", grayImage);

        imwrite("D://hello.jpg", grayImage);

        waitKey();

    }

}

TAG標籤:#opencv #java #