Android开发—浅谈人脸检测的简易实现,成功定级腾讯T3-2

2023-11-14

  • findFaces()方法

  • Canvas类绘制人脸矩形区域

  • 完整代码

  • 最终效果图

  • 结语

Android中的人脸检测

========================================================================

计算机视觉开发在近些年来越发火热,而关于人脸检测或识别等相应功能也成为了大家津津乐道的话题。在智能手机端领域中,人脸识别被广泛用于人脸解锁这项功能中,从简单的2D人脸图像识别,到之后加入的3D结构光技术,人脸识别的精确率在飞速的提升(不过现在android手机厂商为了更接近于100%的手机屏占比,往往并不会加入3D结构光这种很占空间的硬件支持)。

对于开发者而言,要想实现人脸检测等相关功能有两种方法:

1、由google自带的类库,可满足简单需求

FaceDetector类

2、由第三方SDK提供(可在官网下载):

著名的计算机视觉库OpenCV

虹软免费SDK

Face++

… …

FaceDetector类


本文将介绍使用FaceDetector类来实现一个简单的人脸检测小Demo:

  1. 点击按钮A选择一张本地图片并显示

  2. 点击按钮B进行对图片中的人脸检测

下面开始编码部分:

界面布局


总体是个线性布局(垂直方向),其中加入一个ImageView来显示选择的图片;再加入一个子线性布局(水平方向),放置两个按钮,一个按钮用来选择图片,另一个按钮则是对图片进行人脸检测。

注意:布局文件中的按钮添加了onClick属性,赋值一个字符串;在程序运行时,若是用户点击了该按钮,那么便会自动回调代码中与字符串同名的方法,此写法有点类似于Qt开发中的“转到槽”

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发—浅谈人脸检测的简易实现,成功定级腾讯T3-2 的相关文章

  • 不可变位图崩溃错误

    java lang IllegalStateException Immutable bitmap passed to Canvas constructor at android graphics Canvas
  • 如何从 AAR 依赖项中排除特定资源?

    有没有一种相当简单的方法来实现模块的build gradle文件来指示应排除依赖项中的某些文件 我特别感兴趣的是从 AAR 中排除某些资源 金丝雀泄密 https github com square leakcanary是一个有趣的库 可帮
  • Android 12:如何防止更改手机壁纸时重新启动活动?

    在 Android 12 上 如果我们开启一个活动 进入手机主屏幕更换壁纸 切换回我们的 Activity 该 Activity 重新启动 看起来它与 Material You 主题有关 我想在我的应用程序进入前台时禁用活动的重新启动 有办
  • 未找到 Gradle DSL 方法:“versionCode()”

    构建我的 Android 项目时遇到问题 我使用Grgit https github com ajoberstar grgit填写versionCode and versionName在 gradle 中 一切工作正常 直到我将 Andro
  • Android - 如何访问 onResume 中 onCreate 中实例化的 View 对象?

    In my onCreate 方法 我正在实例化一个ImageButton View public void onCreate Bundle savedInstanceState super onCreate savedInstanceSt
  • 更改 AChartEngine 中的图例大小

    我想专门更改饼图的图例大小输出 我已经尝试了所有可以找到的 AChartEngine 方法 但没有一个只能更改图例文本大小 我必须重写 onDraw 函数吗 如果是这样 怎么办 要设置图例高度 请使用 renderer setLegendH
  • MI设备中即使应用程序被杀死,如何运行后台服务

    您好 我正在使用 alaram 管理器运行后台服务 它工作正常 但对于某些 mi 设备 后台服务无法工作 我使用了服务 但它无法工作 如何在 mi 中运行我的后台服务 MI UI有自己的安全选项 所以你需要的不仅仅是上面提到的粘性服务 你需
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • layout.xml 的用途是什么?

    人们为什么使用layout xml在他们的resources like
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 在 Android 中使用 iText 读取或打开 PDF 文件

    我是 Android 应用程序开发新手 使用 iText 我完成了 PDF 创建并在创建的文件上写入 现在我想阅读该 PDF 文件 如何使用 iText 打开或阅读 PDF 文件 例子将是可观的 那么提前 哪个是渲染 PDF 文件的最佳库
  • 如何覆盖日期选择器的高度和宽度以填充父布局

    我有一个活动包含一个日期选择器 我想设置DatePicker适合屏幕 我试过这个答案 https stackoverflow com questions 6674667 how to customize date pickers width
  • Facebook LoginActivity 未正确显示

    我有一个使用 Facebook 登录的应用程序 我有 FacebookSDK 并且使用 com facebook LoginActivity 问题是 在 10 英寸平板电脑上 当显示软键盘时 活动无法正确显示 我使用的是 Samsung G
  • 手动启用时 Firebase Crashlytics 不报告崩溃

    Crashlytics 在没有选择加入报告的情况下也能正常工作 但一旦我根据规定设置了选择加入报告 它就会停止报告任何内容tutorial https firebase google com docs crashlytics customi
  • 如何从SurfaceView绘制到Canvas?

    我正在尝试做简单的画家 问题是Android看起来有三个独立的Canvas并给我它来顺序绘制 我用以下方式制作了用户界面SurfaceView 把霍尔德从中拿走 Override protected void onCreate Bundle
  • 无法在 Android 模拟器中安装 apk

    我正在尝试通过 adb shell 在 ICS 模拟器中安装 apk 从一个站点下载 但出现以下错误 失败 INSTALL FAILED UID CHANGED 可能是什么问题 只需 rm r 有问题的数据目录即可 如果您在安装时遇到此错误
  • 如何在新标签 android webview 中打开链接? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经使用 webview 创建了一个 android 应用程序来显示我的网站 我什至想添加在新选项卡中打开链接的功能 但我找不到任何
  • Jetpack Compose 部分或开放侧边框

    我正在尝试绘制部分或一侧开放的矩形圆形边框以实现此效果 玩了一下之后我得到了这个 这是通过以下方式完成的 RoundedCornerShape topStartPercent 50 bottomStartPercent 50 start R
  • ormlite 将日期读取为 'yyyy-MM-dd'

    我需要读取给我的 sqlite 数据库 因此我无法更改表中的日期格式 yyyy MM dd 当我尝试使用 ormlite 为我生成对象时 使用以下注释 DatabaseField columnName REVISION DATE dataT
  • 绘制大位图时 nSyncAndDrawFrame 速度极慢

    我想用多个大位图优化视差滚动视图 在我的 Nexus 5 上 一切都很顺利 Traceview 转储如下所示 doFrame 方法大约需要 18 毫秒才能完成 但是 当使用我的 Nexus 7 或 Android 6 模拟器 Genymot

随机推荐

  • 【毕设】车牌识别系统的设计与实现

    车牌识别系统的设计与实现 毕设记录 1 前言 源码见评论区 2 开发环境 3 VS2017配置OpenCV运行第一个小程序 19 12 27 3 1 第一个小程序 3 2 参考链接汇总 4 车牌定位 19 12 27 4 1 知识点提要 4
  • python3 查看Django版本

    由于python3 与 Django存在不兼容的问题 需要用相对应的Django版本号跟python3进行匹配 Django版本号地址 https docs djangoproject com en 1 9 releases
  • nlp练习题以及答案(自用)

    2 000 IP 281470860753233 13 08 57 13 10 12 01 15 68 77 下面哪种是由多个 键 值 对组成的无序序列 列表 元组 x 字典 集合 2 000 IP 281470860753233 13 1
  • CentOS7.6安装离线编译安装Redis4.0.9

    下载地址 https redis io download 文件上传至 usr local tar xzf redis 4 0 9 tar gz cd redis 4 0 9 yum install gcc tcl y make MALLOC
  • 想知道微信怎么做指纹支付开发?看这里!

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 作者简介 Henryye 叶轩 来自腾讯微信事业群 主要负责腾讯开源项目TENCENT SOTER GitHub地址 https github com Tencent soter 生
  • seaborn导入数据集报错 <;urlopen error [Errno 11004] getaddrinfo failed> 数据集链接超时,获取地址失败错误

    seaborn导入数据集报错
  • uniapp打包成H5,为什么本地访问页面空白?

    1 点击菜单栏发行 点击选择网站 H5手机版 2 在网站域名这一栏填写 网站域名 例如www xxx com或者你的服务器的IP地址47 103 XX XX 这个地址是你将项目打包之后存放放静态文件的地址 我这里为了考虑到安全因素 将自己的
  • 免费资源网站大全

    网盘类 网盘类百搭 放第一个了 推荐 盘多多 http www panduoduo net 去转盘 http www quzhuanpan com Bdsola http www 3134 cc 西林街 http www xilinjie
  • Richard Stevens的几本书

    版权声明 转载时请以超链接形式标明文章原始出处和作者信息及本声明 http stevens0102 blogbus com logs 37223648 html 博客名取为 纪念Richard Stevens 居然没有写几篇与Stevens
  • TX 和RX 代表什么

    tx是发送 transport rx是接收 receive 光纤中是成对出现的 收发是1对 收发必须同时 只收不发 只发不收都是有问题的
  • pg_dump 逻辑备份

    pg dump逻辑备份 1 单独备份表 schema database 2 除了备份为SQL文本格式 也支持压缩格式或 TAR包格式 3 导出的文件在客户端本地 导出在SERVER端 pg dump dbname gt tmp dbname
  • 什么是Java注解,如何创建和使用注解?

    首先 我们来解释一下什么是Java注解 简单来说 Java注解就是给代码加上一些注释 但是这些注释不是给编译器看的 而是给Java虚拟机 JVM 看的 这些注解可以让我们在运行时获取一些信息 或者对代码进行一些特殊的处理 那么 我们如何创建
  • ajax传值 vue_vue2.0 axios post请求传参问题(ajax请求)

    最近需要做一个项目用vue 由于之前没接触过所以也想挑战下 我不会撘项目 果断选择网上现成搭好的项目 最后我们选择了vue element admin网上项目地址放这里 axios post请求问题 项目中用的ajax请求是 axios 废
  • Qt Creater快速定义函数的快捷键

    1 简介 在Qt creator中编写函数的时候 在头文件编写了函数 需要在相应的cpp文件中编写对应的函数定义实现 如果每次都需要手动的敲击全部的代码 这会非常的耗时耗力 显得很方便 这时候就需要巧妙的利用好Qt creator这款IDE
  • DOS 常用批处理命令

    一 call 功能 在批处理中调用别的批处理或者可运行程序 命令格式 CALL 驱动盘符 路径 文件名 参数 示例 call ex bat echo off call E RDA 8955 CSDTK4 CSDTKvars bat set
  • 苍蓝誓约服务器维护什么时候结束,《苍蓝誓约》2月13日09:00停服维护公告

    原标题 苍蓝誓约 2月13日09 00停服维护公告 尊敬的指挥官您好 我们计划将于2月13日09 00 2月13日11 00对作战海域进行停服维护 届时各位指挥官将无法进入游戏 停服时间会根据维护情况提前或顺延 维护结束后 各位指挥官将会收
  • win7 扩展双屏后 双屏同时显示任务栏

    扩展屏幕下都显示任务栏 第一步 Dual Monitor Taskbar 下载 下载链接 链接 http pan baidu com s 1pKxYUFL 密码 gu5c 第二步 安装完在扩展屏幕上便会出现任务栏 第三步 在扩展屏下任务栏中
  • 阅读有感——Verilog对数据进行四舍五入(round)与饱和(saturation)截位

    思考1 FPGA中只能定义定点数吗 首先 我没有搞清楚定点数与浮点数的定义 定点数就是小数位固定不变的数叫做定点数 也就是小数点是定在某个位置不变的数 结论 FPGA中的信号可以是定点型也可以是浮点型 这只是一种数据表示形式 各有优缺点 1
  • 【c++】vector的使用与实现

    目录 1 vector的介绍 2 vector的使用 2 1 vector 的构造 2 2 vector迭代器的使用 2 3 vector 空间方面的函数 2 4 vector 增删查改 2 5 vector 迭代器失效问题 3 vecto
  • Android开发—浅谈人脸检测的简易实现,成功定级腾讯T3-2

    findFaces 方法 Canvas类绘制人脸矩形区域 完整代码 最终效果图 结语 Android中的人脸检测 计算机视觉开发在近些年来越发火热 而关于人脸检测或识别等相应功能也成为了大家津津乐道的话题 在智能手机端领域中 人脸识别被广泛