一篇文章,手把手教你运行百度离线人脸识别SDK-Java版

本篇文章为简单的讲解百度离线人脸识别SDK-Java版本的工程运行;

01注册百度AI开放平台

登录http://ai.baidu.com进入百度AI开放平台,进行注册;

02找到人脸识别模块,下载离线SDK

1.找到相应模块

2.下载SDK,当然如果没实名认证,需要认证下;个人认证可以获得2个测试序列号,每个有效期3个月,2个应用授权,每个有效期3个月;

03解压文件,导入工程

里面一大堆ddl文件

有个文件:编译及运行说明.txt,里面记载了一些运行方法,表示看到eclipse我是很拒绝的。

1: 安装jdk,推荐jdk1.8(64位)(sdk仅适应于windows的64位平台)

2: 安装eclipse,用eclipse打开工程。(eclipse->import->General->Projects from Folder or Archive)

3:安装opencv(若sdk自带的不能用,则需要安装opencv、sdk自带的opencv的jar及dll分别在opencv-jar和opencv-dll中,导入工程后,要导入jar和jar的native中选dll,不知如何加载的可参考下面链接文章加载),

在opencv官网下载opencv-3.2.0-vc14.exe,双击安装,定位到build目录夹的java,dll选用x64的库文件。

opencv的jar加载请自行百度。(如参考文章:https://blog.csdn.net/m1109048058/article/details/76462341,https://blog.csdn.net/qq_36224522/article/details/81390110)

4:eclipse中右键工程,选Java Build Path->Libraries->JRE System Library->Native library location选Edit 定位到工程FaceOfflineSample目录,

这样可确保java能找到底层c++库文件BaiduFaceApi.dll。否则会提示加载库文件library错误。

5: eclipse中右键工程,选properties,把resource中的Text file encoding调整为UTF-8(防止因为编码风格不是utf-8导致特征值入库保存不正确)

6:编译运行工程。(运行前请通过授权激活,授权激活方法参考百度官网文档,激活文件放于FaceOfflineSample目录中即可)

官方给的步骤也不算复杂, 只是后面那个自行百度的链接还是404,这就尴尬了,我们就一步一步来吧。

导入工程后,会报错,原因是没有配置opencv,所以需要配置一下

04配置opencv

1.Eclipse中Window–> Preferences–> Java–> Build Path–> User Libraries,点击New…

2.输入Userlibrary name,如opencv_java320

3.选中你新建的库,点击AddExternal JARs…,选择你安装opencv目录下的opencv-320.jar,这时你的库里面就有了opencv-320.jar。

在压缩包里就已经帮你下载好了opencv-320.jar,在opencv-jar的文件夹里,直接用就可以了。

05绑定项目

1.右击工程—>build path–>configure build path

2.点击Add Library…,选中User Library,点击Next,选择opencv_java320,点击Finish

3.Native library location选Edit 定位到工程FaceOfflineSample目录,点击OK。

06运行项目

通过上面的步骤,工程算是配置好了,程序也应该不报错了,于是我们就运行一下Face里面的main;

如果报如下一些找不到ddl的错误,肯定是没有配置好,尤其是上面这一步,比如我遇到的下方这个报错,就是找不到

都弄好后,一定会遇到如下问题

当然从字面意思就可以理解,是需要授权的。因为我们还没有我们也看一下其他错误码是什么

之前的步骤,我们也没进行授权任何操作。有这个错误也是正常了。那么接下来我们就授权一下。

打开工程中LicenseTool.exe文件

填入申请好的序列号,激活该序列号

此时该序列号就已经激活,将授权文件下载后,放入工程目录下,也就是FaceOfflineSample

此时重新执行Face,就能不会报授权错误了。

07验证

最后,我们来验证一下结果:

在这里我们对比一下迪丽热巴和关晓彤的照片和两个关晓彤的照片:

迪丽热巴和关晓彤的匹配度是:40.38

两个关晓彤的匹配度是:76.6

总体来说,匹配一般般。

你可能感兴趣的:(一篇文章,手把手教你运行百度离线人脸识别SDK-Java版)