当前位置:首页 > 技术知识 > 正文内容

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

maynowei2周前 (08-19)技术知识6


本篇文章为简单的讲解百度离线人脸识别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

总体来说,匹配一般般。

相关文章

出售闲置原型素材来赚钱,上传作品,即可收上万元收入

出售闲置原型素材来赚钱。产品经理每年设计出大量的原型作品和组件、元件库、交互原型模板等作品,如果项目结束,你的原型就失去了作用,而有需求的人却找不到这样的作品。现在我们发现这样一家元件库、原型模板、素...

Objective C interface(objective什么意思)

在Objective C里面,interface基本可以理解为其他语言里面的class。当然也有些不同。首先我们可以新建一个Objective-C的file。这里我们添加一个MyClass.m和一个M...

IT博物馆之Objective-C诞生(micro博物馆)

1984年,Objective-C诞生。设计者:布莱德·考克斯(Brad Cox)、汤姆·洛夫(Tom Love)Objective-C是面向对象的通用、高级编程语言。它扩展了标准的 ANSI C,将...

Flutter 之 ListView(flutter框架)

在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中...

一文弄懂 GO 的 互斥锁 Mutex !(互斥锁的使用方法)

在 Go 语言并发编程中,互斥锁(Mutex)是一个非常重要的同步原语。本文将深入介绍 Mutex 的使用方法、实现原理以及最佳实践。1. 什么是 Mutex?Mutex(互斥锁)是一种用于多线程编程...

CPU「离奇」飙到 100%!开发者挖出 Linux 内核 16 年老 Bug:这么多年竟无人发现?

【CSDN 编者按】每一次对旧设备的升级都仿佛是一场跨越时代的冒险。本文作者致力于将基于 PXA166 的 Chumby 8 设备从 Linux 2.6.28 版本升级到现代 6.x 版本,然而,在看...