【Android】虹软、安卓、Uniapp、SpringBoot 实现人脸识别
简要概述
后台使用的是springboot,本地开发集成的是window是的版本,发布到线上需要改成Linux的版本
如果是离线版本,直接修改激活引擎的方式为离线激活,然后获取设别编号,上传到虹软的离线激活换取激活文件,重新放到项目中即可
我写的非常简单,因为我本身是javaEE的,并非Android,安卓所有代码均来做虹软的官方文档和SDK,核心实现功能人脸识别
人脸识别难点
做人脸识别,实际上详细的功能大家都看得懂,唯一复杂的是怎么通过视频流,实时获取识别内容进行处理。从阅读虹软的SDK的案例,可以详细发现这个问题,是通过SDK的回调中实现的,因为虹软已经处理了最复杂的点,我们处理回调就可以了
虹软的代码视频流处理在RegisterAndRecognizeActivity的第330行
由于我们已经通过回调拿到了FaceFeature,也就是人脸信息对象,则可以直接拿到人脸的特征值,传到后端的接口验证结果即可
怎么在Uniapp中使用
有些小伙伴就会问,文章中一点uniapp都没提到,标题为啥还带uniapp?
其实代码写到这里,通过uniapp调用就很简单了
-
第一种:uniapp打包成H5部署到服务器,通过webview的形式,嵌套到安卓中,类似于iframe嵌套,可以参照
【Uniapp】Uniapp 实现内嵌 H5(webview)提高性能 -
第二种:uniapp官方系统的App离线打包,这种也可以,也是通过打包静态资源的形式,放到安卓项目中访问
【Uniapp】Uniapp 使用 Android Studio 实现离线打包 -
第三种:通过uniapp的自定义安卓插件,通过自定义基座的方式导入插件到项目中,然后直接使用hbuilder打包App即可
这里我推荐使用第一种,如果项目结构为H5打包成App的非常实用
集成到项目
我这里核心是解决项目需求,所以就有人问了,我这个怎么集成到项目?
首先明确一点,我的安卓代码都是从虹软提供的SDK里面获取的,没有修改过什么,所以可以放心复制到项目,直接把整个包复制到项目中,相对应的libs、jniLibs文件夹一样的拷贝,依赖也导入一下就OK了,然后参照上面我说的【人脸识别难点】这节,修改对应的代码集成到项目即可,后端的SpringBoot就是两个简单的接口,直接调用虹软的即可