超简单 CameraX 人脸识别效果封装

项目代码在最后面!!!!跳转到最后

本项目基于Google免费开源人脸识别库和CameraX封装实现,各Android机型兼容。

识别效果

单人脸识别效果:

  • 支持识别进度,可通过参数修改识别可信度,也是识别灵敏度
  • 识别进度监听,支持修改识别进度条颜色
  • 提供Dialog直接调用
  • 识别位置人脸框绘制
  • 进度加载完成可拿到识别结果,识别结果以base64返回

多人脸识别效果:

  • 支持识别进度,可通过参数修改识别可信度,也是识别灵敏度
  • 支持修改识别的最大人脸数量 默认10
  • 提供Dialog,Fragment调用
  • 识别位置人脸框绘制
  • 点击识别列表可拿到识别结果,识别结果以base64返回

项目依赖库所需要的依赖

//OCRimplementation 'com.rmtheis:tess-two:9.1.0'implementation 'androidx.appcompat:appcompat:1.2.0'// CameraX core libraryimplementation "androidx.camera:camera-core:1.1.0-beta03"// CameraX Camera2 extensionsimplementation "androidx.camera:camera-camera2:1.1.0-beta03"// CameraX Lifecycle libraryimplementation "androidx.camera:camera-lifecycle:1.1.0-beta03"// CameraX View classimplementation "androidx.camera:camera-view:1.1.0-beta03"//工具类implementation 'com.blankj:utilcodex:1.31.0'//权限implementation 'com.github.getActivity:XXPermissions:13.6'

项目依赖库所需要的权限

   <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permission.CAMERA"/>

简单调用

在git下载项目Demo代码后,可参考下方方式依赖代码进行人脸识别的调用:
使用方式和Dialog一致
单人脸Dialog调用

                    FaceChooseDialog faceChooseDialog=new FaceChooseDialog();faceChooseDialog.setGetFace(new FaceChooseDialog.GetFace() {@Overridepublic void getPhoto(String base64) {Bitmap resultbitmap= Base64Utils.base64ToBitmap(base64);new Handler(Looper.getMainLooper()).post(new Runnable() {@Overridepublic void run() {result_img.setImageBitmap(resultbitmap);}});}@Overridepublic void error(String msg) {new Handler(Looper.getMainLooper()).post(new Runnable() {@Overridepublic void run() {Toast.makeText(requireActivity(),msg,Toast.LENGTH_SHORT).show();}});}});}faceChooseDialog.show(getParentFragmentManager(),"faceChooseDialog");//这里的fragmentmanger根据实际情况传入,不要照抄

多人脸Dialog调用

                 FaceMultiChooseDialog faceMultiChooseDialog=new FaceMultiChooseDialog();faceMultiChooseDialog.setGetFace(new FaceMultiChooseDialog.GetFace() {@Overridepublic void getPhoto(String base64) {Log.e("TEST","getPhoto"+base64);Bitmap resultbitmap= Base64Utils.base64ToBitmap(base64);new Handler(Looper.getMainLooper()).post(new Runnable() {@Overridepublic void run() {result_img.setImageBitmap(resultbitmap);}});}@Overridepublic void error(String msg) {new Handler(Looper.getMainLooper()).post(new Runnable() {@Overridepublic void run() {Toast.makeText(requireActivity(),msg,Toast.LENGTH_SHORT).show();}});}});}faceMultiChooseDialog.show(requireFragmentManager(),"faceMultiChooseDialog");//这里的fragmentmanger根据实际情况传入,不要照抄

具体实现逻辑可参阅下方项目代码

项目代码仓库

如果直接复制可能会出现代码缺陷,完整代码请去仓库下载
如果觉得还行,耽误您几秒钟的时间去我的仓库点点star,万一以后用到了呢?

CameraXFace 开源项目

超简单 CameraX 人脸识别效果封装相关推荐

  1. 史上最简单的人脸识别项目登上GitHub趋势榜

    来源 | GitHub Trending整理 | Freesia译者 | TommyZihao出品 | AI科技大本营(ID: rgznai100) 导读:近日,一个名为 face_recogniti ...

  2. 用Python实现简单的人脸识别,10分钟(附源码)

    前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...

  3. 用Python几行代码实现简单的人脸识别,10分钟完成(附源码)

    前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确 ...

  4. 10分钟手把手教你运用Python实现简单的人脸识别

    欲直接下载代码文件,关注我们的公众号哦!查看历史消息即可! 前言:让我的电脑认识我 我的电脑只有认识我,才配称之为我的电脑! 今天,我们用Python实现高大上的人脸识别技术! Python里,简单的 ...

  5. Python简单实现人脸识别检测, 对照片进行评分

    大家好,今天和大家说说如何用Python简单实现人脸识别检测, 对照片进行排名,看看自己有多漂亮. [开发环境]: Python 3.8 Pycharm 2021.2 [模块使用]: requests ...

  6. 吗咿呀嘿-用js来搞个简单的人脸识别

    缘起 "蚂蚁呀嘿,蚂蚁呀呼,蚂蚁呀哈" 相信最近好多人的朋友圈或者抖音都被类似视频刷过屏! 类似的效果最早是在2020年初,那个时候大家应该还都记得,几乎所有的人都因为疫情原因被迫 ...

  7. python简单的人脸识别系统(PCA+逻辑回归)

    python简单的人脸识别系统(PCA+逻辑回归) 数据集:ORL人脸库 特征提取:PCA降维,将112*92降成30 分类器:逻辑回归 ** 代码: from tkinter import * fr ...

  8. python人脸识别解锁电脑_给你的电脑做个简单的“人脸识别认证”

    原标题:给你的电脑做个简单的"人脸识别认证" Simple "Face ID" for your PC 作者 | German Gensetskiy 翻译 | ...

  9. vue 使用人脸识别_使用Vue.js和Kairos构建简单的人脸识别应用

    vue 使用人脸识别 Face Detection and Recognition have become an increasingly popular topic these days. It's ...

最新文章

  1. Java CopyOnWriteArrayList
  2. nginx安装第三方模块echo
  3. 怎么给网站加js_网站站内SEO优化实操细节详解,权重上升嗖嗖的
  4. nyoj 133 子序列(尺取法+离散化)
  5. 【天工Godwork精品教程】任务一:创建工程(导入相片、编辑相机参数、导入POS)
  6. 学生电脑哪个牌子好_家用医用酒精棉球哪个牌子好,酒精棉片哪个牌子好
  7. java inireader_java读取配置文件 Java中如何设置读取ini配置文件?
  8. 疫情病毒全部“抹杀”?用数据模型来解读传播抑制的效果差异!
  9. Android 自定义组合控件 简单导航栏
  10. 【原理分析】细说SpringBoot的自动装配原理
  11. Python学习笔记17:玩转千图成像
  12. (黑客游戏)HackTheGame1.21 过关攻略
  13. 印刷机在纸厚发生变化时的压力调节
  14. 单片机DAC输出方波简易实验
  15. 我的世界中国版服务器最新版本,中国版Minecraft更新慢,老玩家喜欢玩国际版,只要是MC都好玩...
  16. linux下一键部署mysql_linux下一键编译搭建mysql服务器脚本
  17. linux设置时间大全
  18. React Native Text 组件显示不全解决方案
  19. SVG 入门指南(初学者入门必备)
  20. 微信小程序开发获取AppID 和 AppSecret

热门文章

  1. 通过matlab实现水产养殖鱼类成熟度自动分析系统
  2. uboot 内核反汇编
  3. 用Python搞定九宫格式的朋友圈。内附“马云”朋友圈
  4. 如何在东八区的计算机上获取美国时间
  5. 在Portainer上添加其他主机上的docker
  6. 一个ping大包不通问题的解决过程
  7. 如何关闭搜狗云服务器,解决方法:如何关闭搜狗输入法云计算?
  8. 部分Oracle命令(随时更新)
  9. 基于微信小程序家校通系统(微信小程序毕业设计)
  10. 固态存储厂商忆联加入龙蜥社区,共建开源新生态