Android 活体人脸实时采集,百度、虹软
百度现在功能较少——使用虹软,方便
虹软官网:https://ai.arcsoft.com.cn/ucenter/resource/build/index.html
申请应用,下载SDK即可
虹软已修改好的,可注册人脸,人脸验证成功——登陆的demo:https://download.csdn.net/download/meixi_android/18434756
1、首先去百度人脸识别创建应用
https://console.bce.baidu.com/ai/?_=1553067234412&fromai=1#/ai/face/client/index
2、下载SDK
https://download.csdn.net/download/meixi_android/11041930
3、导入module
4、人脸实时采集实现类
/*** 绘制人脸框。** @param model 追踪到的人脸*/private void showFrame(FaceFilter.TrackedModel model) {Canvas canvas = mTextureView.lockCanvas();if (canvas == null) {return;}// 清空canvascanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);if (model != null) {FaceInfo info = model.getInfo();model.getImageFrame().retain();RectF rectCenter = new RectF(info.mCenter_x - 2 - info.mWidth * 3 / 5,info.mCenter_y - 2 - info.mWidth * 3 / 5,info.mCenter_x + 2 + info.mWidth * 3 / 5,info.mCenter_y + 2 + info.mWidth * 3 / 5);previewView.mapFromOriginalRect(rectCenter);// 绘制框paint.setStrokeWidth(mRound);paint.setAntiAlias(true);canvas.drawRect(rectCenter, paint);if (model.meetCriteria()) {// 符合检测要求,绘制绿框paint.setColor(Color.GREEN);}mFrameIndex++;Log.d("lgq", "add face index is:" + mFrameIndex);if (mFrameIndex >= 10) {final Bitmap face = model.cropFace();// final Bitmap face =ImageUtil.bitmapFromArgb(model.getImageFrame());if (face != null) {int size = mList.size();// 释放一些,以防止太多if (size >= 6) {Bitmap bmp = mList.get(size - 6);if (bmp != null) {bmp.recycle();Log.d("lgq", "recycle size is:" + size);bmp = null;}}mList.add(face);Log.d("lgq", "add face ok");mHandler.postDelayed(scrollRunnable, 100);mFrameIndex = 0;faceDetectManager.stop();}}}mTextureView.unlockCanvasAndPost(canvas);}Runnable scrollRunnable = new Runnable() {@Overridepublic void run() {int count = mRecyAdapter.getItemCount();int curIndex = count - 1;mRecyclerview.scrollToPosition(curIndex);mRecyAdapter.setDatas(mList);
// mRecyclerview.invalidate();mRecyAdapter.notifyDataSetChanged();// Log.d("lgq", "in runnuable data size is:" + mList.size());}};/*** 初始化recycleView画截图得到的人脸图像*/private void initRecy() {mRecyAdapter = new RecyAdapter(this);mLayoutManager = new LinearLayoutManager(DetectActivity.this,LinearLayoutManager.HORIZONTAL, true);mRecyclerview.setLayoutManager(mLayoutManager);
// mRecyclerview.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.HORIZONTAL));mLayoutManager.setStackFromEnd(true);mRecyclerview.setAdapter(mRecyAdapter);}private void setCameraType(CameraImageSource cameraImageSource) {// TODO 选择使用前置摄像头cameraImageSource.getCameraControl().setCameraFacing(ICameraControl.CAMERA_FACING_FRONT);// TODO 选择使用usb摄像头
// cameraImageSource.getCameraControl().setCameraFacing(ICameraControl.CAMERA_USB);// 如果不设置,人脸框会镜像,显示不准// previewView.getTextureView().setScaleX(-1);// TODO 选择使用后置摄像头
// cameraImageSource.getCameraControl().setCameraFacing(ICameraControl.CAMERA_FACING_BACK);// previewView.getTextureView().setScaleX(-1);}
demo链接:https://download.csdn.net/download/meixi_android/11041930
在线回复bug:qq1085220040
运行效果
优化采集速度代码:
// 设置回调,回调人脸检测结果。
faceDetectManager.setOnFaceDetectListener((retCode, infos, frame) -> {LogPlus.e("###人脸检测结果:" + retCode + ",infos:" + GsonUtil.getInstance().parseObjToJsonStr(infos));// TODO 显示检测的图片。用于调试,如果人脸sdk检测的人脸需要朝上,可以通过该图片判断//final Bitmap bitmap = Bitmap.createBitmap(frame.getArgb(), frame.getWidth(), frame.getHeight(), Bitmap.Config.ARGB_8888);if (infos == null) {// null表示,没有人脸。LogPlus.e("###没有检测到人脸");setTips("没有检测到人脸");Bitmap faceBitmap = Bitmap.createBitmap(frame.getArgb(), frame.getWidth(), frame.getHeight(), Bitmap.Config.ARGB_8888);upload(faceBitmap);} else {/*有人脸*/setTips("人脸上传...");Bitmap faceBitmap = FaceCropper.getFace(frame.getArgb(), infos[0], frame.getWidth());upload(faceBitmap);}
});
在线交流人脸bug:QQ1085220040
Android 活体人脸实时采集,百度、虹软相关推荐
- Android 安卓人脸识别(百度人脸识别)快速集成采坑
背景介绍 你的项目跟人工智能无关?自己手写不可行?看完本文小白也能2小时让你的应用具备人脸识别活体检测等等功能啦!近两 年炒的最火的就是人工智能了,但是到处都讲人工智能,区块链啥啥的,总感觉跟普通安卓 ...
- android 活体检测方案,一种基于人脸识别认证的Android红外双目活体检测的制作方法...
本发明涉及人脸识别领域,具体涉及一种基于人脸识别认证的Android红外双目活体检测. 背景技术: 在目前的利用红外线实现双目活体检测的技术中,普通红外双目,能够同时实时采集近红外和可见光两种图像,并 ...
- android 活体识别人脸动作活体静默活体Demo源码实现讲解
android 活体识别人脸动作活体静默活体Demo源码实现讲解 这里说活体是基于单目摄像头活体,适合所有普通安卓Android 单目摄像头的手机,双目的需要硬件支持,这里不讲述 . 百度网盘体验地址 ...
- Android 实时采集声音的频率和大小
Android实时采集声音的频率和大小 注 笔者本不是专业人士,通过查了几篇资料和请教软件部门的同学搭的demo ,如有不正确之处,请及时指出 1.原理 声音大小省略,网上可以很好搜到 使用Audio ...
- 百度人脸实时识别软件
百度人脸信息实时识别软件 你会用到这个程序https://gitee.com/wangkingking/BaiDuRenLianXinXiShiShiShiBieRuanJian/tree/maste ...
- android开发游记:集成百度定位SDK进行实时定位 获取当前城市地理信息
定位功能在app开发中很常用,大多数企业都是不具备定位资质的,所有一般是通过接入第三方的sdk来进行定位,比较熟悉的有如:百度.高德.谷歌.腾讯等.而国内比较地图策划比较成熟的主要是百度和高德,这里就 ...
- 【Android音视频开发】- 实时采集视频
前言 通过我的上一篇文章,可以知道直播大致有几个步骤:音视频采集 -> 美颜/滤镜/特效处理 -> 编码 -> 封包 -> 推流 -> 分发 -> 解码/渲染/播放 ...
- android给视频实时滤镜,移动端视频美颜、视频滤镜、人脸实时关键...
简介 VisioninSDK是一个移动端的跨平台实时视频处理库,提供了视频磨皮美颜.视频滤镜.人脸实时关键点追踪.人脸实时整形(瘦脸.大眼睛等).人脸动态贴纸等功能的库. 注意:在运行demo时候,不 ...
- 浅谈一下我对Android实现人脸认证登录的认识
1.什么是人脸认证登录? (简称TRFA:Tencent Research Face Authentication)是由腾讯研究院研制的. 从功能上来看,人脸认证登录系统是基于终端摄像头的一种身份加密 ...
最新文章
- CMOS与BIOS的区别
- linux iio 设备驱动,Linux设备驱动之IIO子系统——IIO框架数据读取-Go语言中文社区...
- latex改变文字类型
- 库克考虑卸任苹果CEO,谁会是下一任接班人?
- 【编辑器】用CodeRunner打造VScode的C++开发环境
- Java Matcher源码学习记录
- spring boot 搭建博客
- viper4android资源分享,一步一步教你如何使4.42版本ROOT并且安装Viper4Android音效软件...
- 3月第1周易盾业务风控关注 | 治理升级,让“标题党”、流量造假等网络乱象走开
- Android 获取手机内存大小
- Android ijk视频播放器使用TextureView问题
- 为什么需要一亩三分地?
- CocoaPods公有库和私有库制作
- 应用dubbo打造仿猫眼_打造出色简历的5大应用
- ui (后台管理系统)
- No.033<软考>《(高项)备考大全》【第17章】战略管理
- 51单片机入门基础介绍
- 如何在微网站上设置在线客服QQ
- 怎么给Word文档加密、选用隐大师U盘
- 从心认识“完美小助手”(推荐)