前言
1、下载百度人脸识别SDK离线版。
2、开发工具:IntelliJ IDEA
百度人脸识别官网:/doc/FACE/s/Ol0rre5u5
步骤
一、基本测试
1、解压下载的百度人脸识别SDK包(x64内带教程文档)。
2、IDEA中直接打开FaceOfflineSdk
3、然后引入当前项目下的opencv-jar目录下的jar包
引入点这里,idea右上角
跟着操作即可,然后引入当前项目下的opencv-jar目录下的jar包
一般引入后应用,在modules那边的dependencies就可以看到。
打开这个工具,然后将百度申请的16位激活码填充,点击激活后会生成license文件夹,然后复制这个文件夹替换对应的license文件。
再到idea找到com.jni.face.Face.java然后执行main方法就可以开始测试了,这个类中的方法都有注释,根据需求调用就好了。
二、整合项目
创建一个项目直接FaceOfflineSdk目录下的几个文件夹复制到新项目中
同上面一样引入opencv-320.jar包即可
三、打包,及打包后遇到的问题
打包/后
打包后发布将项目下的所有dll文件放到 C:\windows\system32 或 C:\Program Files\Java\jre1.8.0_181\bin 目录下(这个目录下可以找face_sdk.log查看日志)。打包后需要自己在代码上动态的将16位激活码替换license下的license.key文件,联网情况下自动激活的。将license文件夹和models文件夹放到一个新的文件夹中,然后将这个新的文件夹路径替换下面代码中的那个模型路径。
Face api = new Face();// model_path为模型文件夹路径,即models文件夹(里面存的是人脸识别的模型文件)String modelPath = ""; // D:\\FaceOfflineSdk\\int res = api.sdkInit(modelPath);if (res != 0) {System.out.printf("sdk init fail and error =%d\n", res);return;}// sdk销毁,释放内存防内存泄漏api.sdkDestroy();
打包遇到的问题:
4. 打包后Windows下一直报 -4 错误(一直找不到模型)。
解决:需要使用双斜杠,单斜杠虽然通用但是Windows下无效。(找了一天问题差点气嘎了,后面问百度技术才解决的)
打包war后报java.lang.NoClassDefFoundError: org/opencv/imgcodecs/Imgcodecs错误。
解决:操作pom.xml,打包后没有将opencv-320.jar生成到lib下,需要改成如下
<build><finalName>face-analysis-service</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration></plugin><!-- 打包war防止上面引入的本地jar添加到 lib-provided 文件夹中而读取不了--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-war-plugin</artifactId><configuration><webResources><resource><directory>${project.basedir}/opencv-jar</directory><targetPath>WEB-INF/lib/</targetPath><includes><include>**/*.jar</include></includes></resource></webResources></configuration></plugin></plugins></build>
以上即可!
其他博客参考:/p/f4e6de80e72a
SpringBoot整合百度人脸识别SDK离线版操作步骤 Windows发布打包SpringBoot百度人脸识别SDK项目 以及解决百度人脸识别SDK离线版遇到的问题
如果觉得《SpringBoot整合百度人脸识别SDK离线版操作步骤 Windows发布打包SpringBoot百度人脸识》对你有帮助,请点赞、收藏,并留下你的观点哦!