| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android的虹软人脸识别和活体检测(附含10000个人脸图片和特征zip下载) -> 正文阅读 |
|
[移动开发]Android的虹软人脸识别和活体检测(附含10000个人脸图片和特征zip下载) |
============================================================================================ 获取 https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/addFreesdk/1002?from=index 第一步骤:先打开这网址再填写信息如下: 第二步骤:填写好了点击“创建新应用”后显示添加应用框如下: 第三步骤:填写好了点击“立即创建”,再点击“确认”,直接获取 https://ai.arcsoft.com.cn/ucenter/resource/build/index.html#/application/204190
又报错: Glide.with(holder.imageView) 改为: Glide.with(holder.imageView.getContext()) ===================================================================================
public static final String APP_ID = “官网获取的APP_ID”; public static final String SDK_KEY = “官网获取的SDK_KEY”; =================================================================== SDK:软件开发包 Arcface:人脸识别 soft:软的 sample:样品 regist:注册 register:注册 AFR:arcsoft(虹软) face(脸) recognition(识别) FSDK:这只是一个命名,重要的只是FR AFD: arcsoft(虹软) face(脸) detection(检测) Engine:引擎 Version:版本 result:结果 Feature:特征 score:分数 Matching:匹配 Pair:一对 clone:一模一样 AFT:arcsoft(虹软) face(脸) tracking(跟踪) Handler:处理 Runnable:可运行的 run:运行 Detection:检测 Still:还是 surface:表面 After:后 Render:渲染(一种画法) Preview:预览 Error:错误 HIGHER : 更高 Creat:创造 Destroy:破坏 join:加入 Callback:回调 Extract:取 Feature:特征 Initial:初始的 Uninitial:未初始化的 Num:号码 Parameters:参数 Frame:框 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 Changed:改变 Later:以后 Regist:注册 index:指数 result:结果 params:参数 YUV 表示三个分量, Y 表示 亮度(Luminance),即灰度值,UV表示色度 what: 什么 reg:注册 EVENT:事件 obtain:获取 Empty:空 loop:循环 Ratio : 比 Supported:支持 Application:应用 Permission:权限 Info:信息 over:结束 Canvas:画布 Paint:画 sleep : 休眠 part:一部分 reset:重新 body:身体 recognize:认出 jump:跳 choose:选择 function:功能 manage:管理 down:向下 number:数 suffix:后缀 ======================================================================== 成功 = 0, 错误原因不明 = 1, 无效的参数 = 2, 引擎不支持 = 3, 内存不足 = 4, 状态错误 = 5, 用户取消相关操作 = 6, 操作时间过期 = 7, 用户暂停操作 = 8, 缓冲上溢 = 9, 缓冲下溢 = 10, 存贮空间不足 = 11, 组件不存在 = 12, 全局数据不存在 = 13, 无效的AppId = 28673, 无效的SDKKey = 28674, AppId和SDKKey不匹配 = 28675, SDKKey和使用的SDK不匹配 = 28676, 系统版本不被当前SDK所支持 = 28677, SDK有效期过期_需要重新下载更新 = 28678, 无效的输入内存 = 73729, 无效的输入图像参数 = 73730, 无效的脸部信息1 = 73731, 当前设备无GPU可用 = 73732, 待比较的两个人脸特征的版本不一致 = 73733, 人脸特征检测错误未知 = 81921, 人脸特征检测内存错误 = 81922, 人脸特征检测格式错误 = 81923, 人脸特征检测参数错误 = 81924, 人脸特征检测结果置信度低 = 81925, Engine不支持的检测属性 = 86017, 需要检测的属性未初始化 = 86018, 待获取的属性未在process中处理过 = 86019, PROCESS不支持的检测属性 = 86020, 无效的输入图像 = 86021, 无效的脸部信息2 = 86022, SDK激活失败_请打开读写权限 = 90113, SDK已激活 = 90114, SDK未激活 = 90115, detectFaceScaleVal不支持 = 90116, SDK版本不匹配 = 90117, 设备不匹配 = 90118, 唯一标识不匹配 = 90119, 参数为空 = 90120, 活体检测功能已过期 = 90121, 版本不支持 = 90122, 签名错误 = 90123, 数据库插入错误 = 90124, 唯一标识符校验失败 = 90125, 颜色空间不支持 = 90126, 图片宽度或高度不支持 = 90127, READ_PHONE_STATE权限被拒绝 = 90128, 激活数据被破坏, 请删除激活文件_重新进行激活 = 90129, 无法解析主机地址 = 94209, 无法连接服务器 = 94210, 网络连接超时 = 94211, 网络未知错误 = 94212, 无法连接激活码服务器 = 98305, 服务器系统错误 = 98306, 请求参数错误 = 98307, 激活码正确_且未被使用_但和传入的APPID及APPKEY不匹配 = 98308, 传入的KEY值虽然正确_但此KEY已经被激活 = 98309, KEY格式不对_一般来说是KEY错误或者未传入KEY值 = 98310 ======================================================================= ====================================================================== 1. … /**
*/ public boolean registerNv21(Context context, byte[] nv21, int width, int height, FaceInfo faceInfo, String name) {…} … /**
*/ public boolean registerBgr24(Context context, byte[] bgr24, int width, int height, String name) {…} … 什么是 NV21 的存储格式是,以4 X 4 图片为例子 占用内存为 4 X 4 X 3 / 2 = 24 个字节 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y V U V U V U V U 什么是 Bgr24:Bgr24像素格式是一种采用24BPP的sRGB格式。每个颜色通道(蓝色blue, 绿色green, 红色red)各占8BPP(位/像素)。 ==================================================================== 1. compile ‘com.guo.android_extend:android-extend:1.0.5’ 2. … public static List faceImgRegisterInfoList; … //特征 private static List MyfaceFeatureRegisterInfoList; //导入手机里的10000个人脸图片 public static List MyimportFaceImgRegisterInfo; //导入手机里的10000个特征 public static List MyimportFaceFeatureRegisterInfo; … //获取图片和姓名的信息 public int getImgAndName(Context context){ synchronized (this){ if (ROOT_PATH == null) { ROOT_PATH = context.getFilesDir().getAbsolutePath(); } File imgDir = new File(ROOT_PATH + File.separator + SAVE_IMG_DIR); if (!imgDir.exists() || !imgDir.isDirectory()) { return 0; } File[] imgFiles = imgDir.listFiles(); if (imgFiles == null || imgFiles.length == 0) { return 0; } faceImgRegisterInfoList = new ArrayList<>(); for (File imgFile : imgFiles) { faceImgRegisterInfoList.add(new FaceImgRegisterInfo(imgFile.getPath(), getName(imgFile.getName()))); } return faceImgRegisterInfoList.size(); } } private String getName(String path){ int start= path.lastIndexOf("😊; int end = path.lastIndexOf("."); return path.substring(start+1,end); } 3. <com.guo.android_extend.widget.HListView android:id="@+id/hlistView" android:layout_width=“wrap_content” android:layout_height=“100dp” android:layout_alignParentBottom=“true” android:layout_centerHorizontal=“true” android:scrollbars=“none” app:dividerHeight=“1dp” app:listSelector="@android:drawable/list_selector_background" android:layout_gravity=“center_horizontal”/> <TextView android:id="@+id/tv_number" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_gravity=“center_horizontal” android:textSize=“30dp” android:textColor="#000000"/> 4. … private HListView mHListView; public RegisterViewAdapter mRegisterViewAdapter; … mHListView = (HListView) findViewById(R.id.hlistView); TextView facenum = (TextView) findViewById(R.id.tv_number); downFile(); mRegisterViewAdapter = new RegisterViewAdapter(FaceManageActivity.this); mHListView.setAdapter(mRegisterViewAdapter); … private void downFile() { int faceNum = FaceServer.getInstance().getFaceNumber(this); if (faceNum == 0) { showToast(getString(R.string.batch_process_no_face_need_to_delete)); }else { FaceServer.getInstance().getImgAndName(this); } } … class Holder { ExtImageView siv; TextView tv; } class RegisterViewAdapter extends BaseAdapter { Context mContext; LayoutInflater mLInflater; public RegisterViewAdapter(Context c) { mContext = c; mLInflater = LayoutInflater.from(mContext); } @Override public int getCount() { if (FaceServer.faceImgRegisterInfoList==null){ return 0; }else { facenum.setText(“注册的人脸数:” + FaceServer.faceImgRegisterInfoList.size() + “个”); return FaceServer.faceImgRegisterInfoList.size(); } } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { Holder holder = null; if (convertView != null) holder = (Holder) convertView.getTag(); else { convertView = mLInflater.inflate(R.layout.item_sample, null); holder = new Holder(); holder.siv = (ExtImageView) convertView.findViewById(R.id.imageView1); holder.tv = (TextView) convertView.findViewById(R.id.textView1); convertView.setTag(holder); } if (!(FaceServer.faceImgRegisterInfoList == null)){ if (!FaceServer.faceImgRegisterInfoList.isEmpty()){ FaceImgRegisterInfo face = FaceServer.faceImgRegisterInfoList.get(position); holder.tv.setText(face.getName()); String path = face.getImgpath(); holder.siv.setImageBitmap(BitmapFactory.decodeFile(path)); holder.siv.setScaleType(ImageView.ScaleType.CENTER_INSIDE); convertView.setWillNotDraw(false); } } return convertView; } } … ==================================================================================== |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:29:41- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |