简介

接下来会讲解怎么用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();
    }
}

出现以下两张图,一张代表原始图,一张代表处理过后的图,即表示整合成功
在这里插入图片描述

GitHub 加速计划 / opencv31 / opencv
77.34 K
55.71 K
下载
OpenCV: 开源计算机视觉库
最近提交(Master分支:1 个月前 )
e1fec156 features2d: fixed out of bounds access in SIFT 14 天前
63087396 - 14 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐