SpringBoot整合OpenCV

简介

接下来会讲解怎么用SpringBoot整合OpenCV

初始化SpringBoot项目

这里正常初始一个SpringBoot项目
SpringBoot整合OpenCV_第1张图片

依赖文件

在安装目录下找到以下两个文件,如果不知道怎么安装OpenCV,可查看这篇文章,Windows下安装OpenCV
opencv\build\java\opencv-420.jar
opencv\build\java\x64\opencv_java420.dll
在resource目录下新建一个lib文件夹,然后将两个文件复制到resource\lib下
SpringBoot整合OpenCV_第2张图片

项目添加lib

在项目中添加依赖,点击“+”后选择Java,其它如图所示
SpringBoot整合OpenCV_第3张图片
SpringBoot整合OpenCV_第4张图片

测试

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 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();
    }
}

出现以下两张图,一张代表原始图,一张代表处理过后的图,即表示整合成功
SpringBoot整合OpenCV_第5张图片

你可能感兴趣的:(Java开发,开发工具的应用,人工智能)