安卓学习日记——人脸识别

实习日记(2020.7.18)——基于人脸识别的课堂签到管理系统(4) ◆ 学习日报 ◆ • 今日学习内容 今天是实习的第四天,在昨天的课程中,我们完成了人脸检测,今天的课堂中,老师教我们解析数据,进行人脸信息的显示。 先是设计两个窗口部件用于显示信息,然后进行解析并把信息依次添加到窗口中。 人脸识别操作首先是从摄像头中获取画面,进行人脸检测函数的调用,每调用一次就进行一次检测(由于百度网络API的QPS为2,所以每秒只能检测两次)。然后是完成网络请求限制,这个需要单独设置人脸检测,设置为500毫秒,即每500毫秒就获取一次摄像头画面,获取用于检测。再通过设置定时器产生信号、关 阅读详情

人脸识别可以做什么

人脸检测:在图片中找到一个或多个人脸的位置,云端返回人脸坐标到客户端,来定位人脸在图片中的位置。
面部关键点检测:在检测到人脸框中,进一步定位人脸的五官和轮廓位置,目前采用关键点21点模型定位位置,关联关键你点的平均精确度高达96%。
人脸验证:用于快速判定两张照片是否为同一个人,此项技术可用于手机/电脑解锁、人员考勤、身份验证等各个领域。全球理领先的精确率在目前公开的LWF测试中,人脸验证可达到世界第一的99.15%,比肉眼更精确。

在科大讯飞平台下载对应的SDK
导入jar包

权限设置

<uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_SETTINGS" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

MainActivity

package com.example.xfface;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Environment;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;

import com.iflytek.cloud.FaceRequest;
import com.iflytek.cloud.RequestListener;
import com.iflytek.cloud.SpeechConstant;
import com.iflytek.cloud.SpeechError;
import com.iflytek.cloud.SpeechUtility;

import java.io.ByteArrayOutputStream;

/**
 * 人脸识别
 */
public class MainActivity extends AppCompatActivity {
    private static final int REQUEST_CODE_CAPTURE_CAMEIA_LOGIN =0x2 ;
    private ImageView imageView1;
    private static final int REQUEST_CODE_CAPTURE_CAMEIA =0x1        ;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView1=findViewById(R.id.imageView1);
        SpeechUtility.createUtility(this, SpeechConstant.APPID+"=5ce3afbf");
    }
    //人脸登录
    public void loginClick(View v){
        Intent getImageByCamera=new Intent("android.media.action.IMAGE_CAPTURE");
        startActivityForResult(getImageByCamera,REQUEST_CODE_CAPTURE_CAMEIA_LOGIN);
    }
    public void regClick(View v){
            Intent getImageByCamera=new Intent("android.media.action.IMAGE_CAPTURE");
            startActivityForResult(getImageByCamera,REQUEST_CODE_CAPTURE_CAMEIA);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        if (resultCode== Activity.RESULT_OK && requestCode==REQUEST_CODE_CAPTURE_CAMEIA){
            Bitmap bitmap= (Bitmap) data.getExtras().get("data");
            imageView1.setImageBitmap(bitmap);
            FaceRequest face=new FaceRequest(this);
            // 设置会话场景
            face.setParameter(SpeechConstant.MFV_SCENES, "ifr");
            face.setParameter(SpeechConstant.WFR_SST,"enroll");
            face.setParameter(SpeechConstant.AUTH_ID,"ck1241");


            //把bitmap对象转换成字节数组
            ByteArrayOutputStream out=new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG,100,out);
            byte[] imgData=out.toByteArray();

            face.sendRequest(imgData,mRequestListener);
        }
        else if (resultCode== Activity.RESULT_OK && requestCode==REQUEST_CODE_CAPTURE_CAMEIA_LOGIN){
            Bitmap bitmap= (Bitmap) data.getExtras().get("data");
            imageView1.setImageBitmap(bitmap);
            FaceRequest face=new FaceRequest(this);
            // 设置会话场景
            face.setParameter(SpeechConstant.MFV_SCENES, "ifr");
            face.setParameter(SpeechConstant.WFR_SST,"verify");
            // 设置验证模式,单一验证模式:sin
            face.setParameter(SpeechConstant.MFV_VCM, "sin");
            face.setParameter(SpeechConstant.AUTH_ID,"ck1241");
            //把bitmap对象转换成字节数组
            ByteArrayOutputStream out=new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.JPEG,100,out);
            byte[] imgData=out.toByteArray();

            face.sendRequest(imgData,mRequestListener);
        }
    }
//    private String gid;

    private RequestListener mRequestListener=new RequestListener() {
        @Override
        public void onEvent(int i, Bundle bundle) {

        }

        @Override
        public void onBufferReceived(byte[] bytes) {
            String json=new String(bytes);
            System.out.println(json);
        }

        @Override
        public void onCompleted(SpeechError speechError) {
        if (speechError==null){
            Toast.makeText(MainActivity.this,"注册成功",Toast.LENGTH_SHORT).show();
        }else {
            System.out.println(speechError.toString());
        }
        }
    };
}

android照片比较,人脸识别 通过相册或者拍照选择两张照片,可以比较这两张照片的相似度,判断这两张照片是不是同一个人,也可以用于人脸识别中,把预先存入一张照片,然后再抓拍一张照片和以前存的照片进行比较从而进行识别是不是同一个人 立即下载

相关推荐

人脸识别(身份识别) 安卓版

人脸识别,身份识别,司机识别,身份认证,人脸比对,FaceDetect,android版本, 结果为相似度,取值范围0到100

人脸识别opencv+python

人脸识别一、什么是人脸识别二、openCV1.安装openCV2.使用openCV①.加载图片②.图片灰度转换③.修改图片的尺寸④.画图⑤.人脸检测Haar级联获取Haar级联数据静态图形中单人的人脸检测静态图形中多人的人脸检测视频中的人脸检测 一、什么是人脸识别 人脸识别(face recognizaton)分为四个部分 人脸检测(face detection):在一张图片中找到人脸所处的位置 人脸对齐(face alignment):在已检测到人脸后,自动找到人脸的眼睛鼻子嘴和脸轮廓等标志性特征位置

是草莓味的啊 1327

手把手教你用STM32实现SPWM逆变器控制(附完整代码)

本文提供了一份基于STM32实现SPWM逆变器控制的完整实战指南。文章从硬件选型(如STM32F103C8T6、IR2104驱动器)入手,详细解析了利用定时器TIM1生成SPWM波形的核心原理与代码实现,并涵盖了驱动电路、全桥功率电路及LC滤波器的设计要点与调试技巧,旨在帮助读者从零构建一个可靠的单相全桥逆变器系统。

weixin_29208327的博客 589

人脸关键点检测总结

概述 人脸关键点检测也称为人脸关键点检测、定位或者人脸对齐,是指给定人脸图像,定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等。 人脸关键点检测方法大致分为三种: - 基于模型的ASM(Active Shape Model)和AAM(Active Appearnce Model) - 基于级联形状回归CPR(Cascaded pose regression) - ...

imcy的博客 10万+

中兴FTTR光猫变简易OLT:低成本搭建全光监控与局域网实战指南

本文详细介绍了如何将中兴FTTR光猫改造为简易OLT设备,实现低成本全光监控与局域网扩展。通过LOID认证、桥接模式设置及终端数破解,用户可利用二手设备搭建高性能光纤网络,适用于远程监控和长距离组网场景,显著降低部署成本。

chair的专栏 2032

基于PSO-BP神经网络的风电功率预测研究论文复现

风电功率预测。基于PSO-BP神经网络的风电功率预测论文复现。matlab程序,注释清晰。

weixin_825487230的博客 2295

实训日志1

学习日报 姓名:秦佳琪 日期:2020年7月15日 今日学习内容 今天是上实训课的第一天,大致了解了我们要做的课程设计:基于人脸识别的课堂签到管理系统。之前也有做过类似的,在老师讲解下此工程项目大致分为三个阶段:定义阶段、开发阶段和运行维护阶段;定义阶段要考虑技术可行性、成本可行性和需求分析,其中我认为需求分析最为关键,包括摄像头人脸检测、人脸对比、人脸库、人脸添加删除、数据库的保存及导出签到数据。开发阶段和运行维护阶段也是必不可少的内容,开发阶段包括四个方面:概要设计、详细设计、实现和测试;最后就是每个项

m0_47297839的博客 623

Star CCM+中衍生零部件下的阈值应用与区域内删除目标网格

同样的在绘制网格结束后,有时出现负体积网格或质量差的网格,为了节约时间成本,可能会选择将负体积的网格或质量差的网格删除。弹出相应的窗口,在窗口中选择相应的区域①,选择标量函数②(此处以网格体积变化为例),选择模型③,设置阈值④,选择No Dispalyer,会根据需求选择显示,最后点击Create⑥完成创建。此处以温度为例,若出现温度异常点,首先在①栏中勾选Function,然后在下面点击⑤Select,在弹出的Function窗口中选择温度场函数,再点击④Identify,查找温度异常网格数量。

2201_75375391的博客 2222

实习日记(2020.7.20)——基于人脸识别的课堂签到管理系统(6)

◆ 学习日报 ◆ • 今日学习内容 今天是实习的第六天,今天我们把人脸库的操作实现了,大概就是人脸库管理功能,即添加人脸库,然后在里面添加或删除人脸,做修改等。 首先是添加用户组(即班级),然后删除用户组和显示用户组列表等。然后就是向用户组里面添加用户。设计一个窗口用于用户的添加,其中需要开启摄像头,获取一张人脸画面,然后选择要加入的用户组,再输入用户id,姓名,班级,再点击确定就可以向用户组里面添加一个用户,可以打开百度AI中查询我们创建的用户组和用户,里面会有信息和图片显示。 然后是删除用户的功能,获取

举个栗子优快云 611

InSAR_ISCE软件数据处理流程之:利用哨兵数据获取2015年尼泊尔地震同震形变场

ISCE软件数据处理流程之:利用哨兵数据获取2015年尼泊尔地震同震形变场 ISCE软件做干涉只需要将数据准备好,并配置好insarApp.xml文件即可进行。 一、数据准备 1、SAR数据获取 本利中使用的数据为欧空局提供的sentinel-1A/B数据,可从阿拉斯加数据服务器上下载,具体下载方法可参考: 哨兵数据下载方法. 2、哨兵卫星轨道文件下载 哨兵数据处理除了需要SAR影像外,还需提供轨道参数文件,可从https://qc.sentinel1.eo.esa.int/aux_poeorb/下载。下载

weixin_42128764的博客 1万+

在鸿蒙中使用AVPlayer完成视频的播放【坚果派】

播放的全流程包含:创建AVPlayer,设置播放资源和窗口,设置播放参数(音量/倍速/缩放模式),播放控制(播放/暂停/跳转/停止),重置,销毁资源。5.准备播放:调用prepare(),AVPlayer进入prepared状态,此时可以获取duration,设置缩放模式、音量等。8.退出播放:调用release()销毁实例,AVPlayer进入released状态,退出播放。6.视频播控:播放play(),暂停pause(),跳转seek(),停止stop() 等操作。今天我们来看一下视频如何正常播放。

坚果的博客 4056

django基于Android手机个人日记本(程序+开题报告)

因此,本研究对于提高人们的生活品质、促进社会和谐具有重要的意义。[7] 陈佳佳, 邱晓荣, 熊宇昊, 段莉华. 基于Python的人脸识别技术研究[J]. 电脑知识与技术, 2023, 19 (08): 34-36+39.[2] 唐文军, 隆承志. 基于Python的聚焦网络爬虫的设计与实现[J]. 计算机与数字工程, 2023, 51 (04): 845-849.[1] 张文. 基于Python数据可视化的研究与应用[J]. 电脑编程技巧与维护, 2023, (11): 3-5+12.

林文程序设计 1099

matlab 质心重合法实现点云配准【2026最新版】

质心重合法是将源点云和目标点云的质心重合,以此缩小两点云集之间的平移误差,从而为下一步粗配准提供更好的初始位置姿态。

点云侠的博客 509

基于django+vue基于Android手机个人日记本【开题报告+程序+论文】-计算机毕设

研究背景 随着移动互联网技术的飞速发展,智能手机已成为人们日常生活中不可或缺的一部分,它们不仅承载了通讯的基本功能,更逐渐演变为个人信息管理、休闲娱乐、学习工作的综合平台。在快节奏的生活中,人们越来越倾向于通过数字化工具来记录生活点滴、管理个人情绪与思绪。传统的纸质日记本虽承载着深厚的情感价值,但在便捷性、隐私保护及多媒体记录方面显得力不从心。因此,开发一款集个性化、安全性、多功能于一体的“手机个人日记本”应用,成为了满足现代人记录生活、表达自我需求的迫切需求。 意义 “手机个人日记本”的研发不仅是对传统

紫蝶学姐--毕设 1025

C# WPF上位机开发(利用tcp/ip网络访问plc)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 c# wpf如果是用来开发非标上位机的,那么和plc的通信肯定是少不了的。而且,大部分plc都支持modbus协议,所以这个时候如果有一个库可以帮助我们和plc设备进行modbus通信,那就非常方便的。目前NuGet下关于modbus的函数库还是有一些的,比如EasyModbus。

嵌入式-老费,一个分享专业嵌入式知识的blog 2529

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

软件工程毕业设计题目安卓Android移动端推荐

一个合适的题目对自己的毕设答辩以及项目的开发进展都有很大的帮助;分享一些毕设的题目供大家参考;基于校园地图定位的高校失物招领平台.zip 基于android的个人智能上课作息系统.zip 基于Android的个人健身数据分析与管理系统设.zip 基于安卓的厨房烹饪系统的设计与实现.zip 基于Android平台购物商城的设计与实现+改开题.zip 基于Android的运动记录应用的设计与实现.zip 基于Android的无人健身·房系统.zip 基于足球群众的多功能社交app.zip 基于Android中医

u014388322的专栏 1968

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java/php/node.js/python基于Android手机个人日记本【2024年毕设】

本系统带文档lw万字以上文末可领取本课题的JAVA源码参考。

qih112的博客 707

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android+ps+ai学习计划书

寻求反馈和指导:参与技术社区,与其他学习者或专业人士交流和讨论学习过程中遇到的问题,获取反馈和指导,加速学习进度。探索创新:学习过程中,要勇于尝试和探索新的学习方法和工具,保持对新技术和发展趋势的关注,保持学习的活力和动力。坚持持续学习:学习需要持续的努力和坚持,养成良好的学习习惯,通过每天的积累和实践逐步提升自己的技能。合理分配时间:根据自己的学习能力和日常事务,合理规划学习时间,保证每天有固定的时间用于学习。规划调整:根据反馈和评估结果,及时调整自己的学习计划和目标,保证学习的连贯性和高效性。

qq_62926466的博客 249

笨办法刷抖音-----记一次失败的强行装逼

大一寒假期间到了哥哥的公司体验人生的第一份工作—主播招募,听起来很diao,实际上就是8个小时整天拿着公司手机在小屋子里刷抖音,给公司的平台物色主播,对符合条件的用户(xiao jie jie)(什么心数不能大于20,粉丝不能超过2000)发各种优雅(rouma)的话术,就跟那些一天打几百个电话的销售一样,一天下来简直无聊到死。 自己作为计算机专业的学生学过一点python,也知道一些自动化操作的...

Tracker647的博客 1026

疫情期间生活如何?看AI作家在线写日记

全文共2563字,预计学习时长9分钟以前人们的共识是,AI无法胜任创造性的工作,然而这个说法似乎正在被慢慢推翻。这不,笔者就决定看看人工智能能否充当媒体平台的专栏作家。图源:unspla...

读芯术的博客 790

回首2018,展望2019

2018 今天是元旦放假的第一天,还是往常的时间醒了。睡不着了,同事笑称我老了。借着清晨的凉意,做一个总结,也算是为2018年画一个句号。给时间做一个分割。 今年上半年就是公司产品的迭代,写业务代码,技术上没有多大的突破。当然这个跟自己偷懒有关系,这个留待后话。生活上的事情比较繁琐,一直在忙着装修房子,装修也是一大波坑,这个就私聊了。 下半年虽然仍然是产品的迭代,接触的人工智能方向的,如人脸,图像...

风吹过wu的博客 1577

Android开发java开发之常用英文词汇汇总。程序员必备英语单词

ANR (Application Not Response ) bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visible lifetime 可见生命周期 foreground lifetime 前沿生命周期 initiate 开始,创建,初始化 vt Serializable 序列化, 可串行化的...

技术博客 502

晒娃即数据授权:家长必知的儿童数字足迹防护指南

在人工智能时代,‘晒娃’已超越私人分享范畴,演变为一种隐性、高风险的数据授权行为。儿童面部图像、行为视频、地理信息等多模态数据,正被广泛用于训练人脸识别、情绪分析与教育推荐类AI模型。其技术原理在于多平台数据聚合、跨模态推理及超分辨率重建等能力的协同作用,使模糊照、删帖甚至背影都可能被AI反向识别。这种数据流不仅关乎隐私泄露,更潜藏长期人格权风险——影响未来教育分层、信贷评估乃至社会身份建构。本文聚焦家长可操作的防护路径,融合数据审计、动态模糊、家庭数字契约与儿童数据信托等实践策略,帮助普通用户在不放弃记录

weixin_30265103的博客 424

Unity插件DlibFaceLandmarkDetector的使用心得

Unity小白日记 1.DlibFaceLandmarkDetector Unity官方插件,在插件商店里即可找到,但是对于我这种只是用来试用一下效果的小白来说还是有点小贵(更别说还是美刀),如果如果有感兴趣的童鞋可以在优快云查找下载,学习使用,商业用途还是要支持正版的!!!!! 配套下载OpenCVForUnity,这些插件优快云都有,可以去查一下。 这里提一下,由于Unity版本不同可能会...

qq_45897512的博客 3932
上一篇: 安卓学习日记——NFC
下一篇: 安卓学习日记——语音识别
chen_xiaoke
博客等级 码龄8年 32粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值