当前位置:   article > 正文

spring boot整合OpenCV4.5_springboot opencv

springboot opencv


本文是本Java小白参考了若干篇相关博客,整理而成,折腾了两三个小时。本地环境是win11,jdk1.8,idea2021版本,所以有些界面可能看起来并不一样。整体的心路历程是大部分参考文章尾部的链接1,然后结合出现的两个问题去针对性解决。并且这两个问题是出现在第五步测试程序的时候,如果大佬知道原因欢迎在评论区指出,本文很大程度是小白整理心路历程及以后所需,如有错误欢迎指正。

第一步:选择安装的OpenCV

这里我选择的是OpenCV4.5.5.我这里选择的是Windows。官网链接:OpenCV官网
在这里插入图片描述

第二步:解压OpenCV包并放至项目目录下面

把解压后的OpenCV压缩包中的\opencv\build\java中的文件复制进去,得到下面的目录结构。
Tips:并且这里我为了opencv找起来方便,所以我这里opencv文件夹直接复制放到了D盘下面。所以我的D:\opencv\build\java下面就有opencv-455.jar文件。以此作为本地解压缩文件后的位置,大家可以对应自己的目录文件。后面用到的时候注意是本地解压后的jar包位置还是项目内的jar包位置。不做本地的opencv目录更改也行,但注意目录名最好不要有中文。
在这里插入图片描述

第三步:导入jar包

先找到项目结构
在这里插入图片描述
再找到添加本地jar包。这里jar包可以找本地解压缩后的\opencv\build\java的jar包,也可以直接就是我们工程目录下OpenCV下的jar包。这里我选择的是第二种方式。
在这里插入图片描述
在这里插入图片描述

第四步:配置动态链接库文件(dll)

在这里插入图片描述
在VM options里面填入:-Djava.library.path=D:\opencv\build\java\x64
还有一种填法是
-Djava.library.path=$PROJECT_DIR$\opencv\x64
64位选x64,32位选x86.
注意这里我使用的是我本地解压缩后的OpenCV文件夹下面的包,也就是第一种填法。如果不适用可以尝试第二种。
在这里插入图片描述

第五步:测试程序

新建个类,适当修改下,因为我是在整体项目中放进去的,所以没完全按照这个来。最终测试成功。

import org.opencv.core.Core;
import org.opencv.core.CvType;
import org.opencv.core.Mat;
import org.opencv.core.Scalar;

public class OpenCVJavaTest{

    static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }

    public static void main(String[] args) {
        System.out.println("Welcome to OpenCV " + Core.VERSION);
        Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
        System.out.println("OpenCV Mat: " + m);
        Mat mr1 = m.row(1);
        mr1.setTo(new Scalar(1));
        Mat mc5 = m.col(5);
        mc5.setTo(new Scalar(5));
        System.out.println("OpenCV Mat data:\n" + m.dump());
    }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

在这里插入图片描述

可能出现的问题:

1.Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project demo: There are test failures.

在pom配置文件下面的plugins里面加入下面代码:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                <skipTests>true</skipTests>
            </configuration>
</plugin>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.程序包org.opencv.core不存在

一共做了两种尝试,后面就没有报这个错了。
1.如图,清理下idea缓存。
在这里插入图片描述
2.在pom配置文件中添加本地依赖

		<dependency>
            <groupId>org</groupId>
            <artifactId>opencv</artifactId>
            <scope>system</scope>
            <systemPath>${project.basedir}\opencv\opencv-455.jar</systemPath>
            <version>4.5.5</version>
        </dependency>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

参考链接

1.https://blog.csdn.net/wangwenjie1997/article/details/88775600
2.https://blog.csdn.net/qq_41155209/article/details/124297661
3.https://blog.csdn.net/chengjiayijiu/article/details/121157115

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/623239
推荐阅读
相关标签
  

闽ICP备14008679号