大家好,我是小付~第一次写文章的时候,曾经写过一篇基于Java实现人脸识别功能的文章,因为开始coding的时候不知道写什么,就简单的做了一个人脸识别的demo。但是没想到的是,在过去的一年里,有很多粉丝加我为好友来咨询这个小demo,因为里面有一个小bug,导致一些新手朋友无法成功启动。从那以后我就开始孜孜不倦地回答各种问题,但是我的精力毕竟有限,最后也答不上来,所以索性建了一个粉丝群,互相分享经验。当问题大规模出现时,我想过发布一个完整版的demo,但是因为家里工作多,根本没有精力。项目上,借这个机会分享一下,这次尽量不给大家留下(埋下的)bug哈哈哈。在具体操作之前,我们先来看看成品的效果。在线预览地址:https://fire100.top。在这里,你可以放心,不会采集人脸图片,只是提取人脸特征,不会上传到云端。下面我们来做个演示看看效果。识别速度和成功率还是不错的。功能流程整个功能的逻辑非常简单。前端调出摄像头,识别出人脸后,拍照上传到后台。对于登录成功(相似度0.8~1表示同一个人),如果识别到人脸但数据库中比对不成功,则视为新用户注册。注意:如果要在线申请,必须使用https调出摄像头,本地测试没有限制。https://p3-juejin.byteimg.com...在申请SDK启动项目之前做一点准备工作,因为你使用的是三方人脸识别SDK,所以你必须先在平台申请一个账号,然后下载相应版本的SDK。SDK地址可能有人会反驳为什么不自己写人脸识别,别问,你不会!目前支持Linux、Windows、IOS、Android版本,每个实名认证账号可以激活100台设备,换句话说,同一个账号申请的SDK可以运行在100台设备上,通常情况下已经足够了。在下载的SDK包的目录结构中,libs是最重要的,samplecode中有示例代码,doc中有API文档。我们需要的是libs中的arcsoft-sdk-face-3.0.0.0.jar,以及对应的三个平台引擎文件。dll或带有.so后缀的文件。项目配置项目本身是springboot+vue的前后端分离的,但是为了朋友开箱即用,我把这个功能前后端整合起来,然后用jpa进行持久化,这样就不用自己建表了,这里为大家节省时间。我在使用SDK的时候遇到了一个小坑,下面详细说说。首先在springboot启动类所在项目根目录下创建lib目录,将解压后的arcsoft-sdk-face-3.0.0.0.jar放入SDK中。进去,在pom.xml文件中引入这个Jar。