Springboot 调用opencv错误

Springboot 调用opencv错误

由于最近公司在做人脸识别功能,所以我采用了SpringBoot调用opencv库,但是出现了一些问题,写这篇文章就是记录下我的错误历程!希望也能避免大家再出现我出现的错误!

首先我借鉴了https://zziamalei.gitee.io/2021/01/30/springboot/2021-01-28-springboot-opencv/这位大神的demo,首先声明下大神的demo是完全没问题的是可以很好的实现,我直接导入demo一点问题也没有但是当我整合时我出现了一个很低级的错误以至于我挠头了好几天!错误如下

00:04:18.894 [http-nio-80-exec-2] ERROR c.y.f.w.e.GlobalExceptionHandler - [handleException,74] - Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1(Ljava/lang/String;)J
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: org.opencv.objdetect.CascadeClassifier.CascadeClassifier_1(Ljava/lang/String;)J
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1053)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)

然后我就开始各种搜各种查,然后各种改首先说下我搜到的最多的结果之一就是添加

System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

声明不是不管用,只是对我的错误不管用,我添加后依然出现上面的错误,所以我就很挠头,没办法还得解决问题啊!我就在想到底是哪里出了错误!最终发现时我的pom出了问题原因如下

 

<!-- spring-boot-devtools -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <optional>true</optional>
</dependency>

我的pom中添加了这个依赖删除就可以了,就是这样就解决了!

但是之后我又仔细测试了下最终确定解决方法是上面两种方法要结合使用!

最后希望能对大家有所帮助!如有错误或者不全面的地方还请大神们指出!

版权声明:xbddhwq 发表于 2021-04-19 0:26:16。
转载请注明:Springboot 调用opencv错误 | 小不点导航

暂无评论

暂无评论...