# ext-livenessDetection **Repository Path**: chenqi1233/ext-liveness-detection ## Basic Information - **Project Name**: ext-livenessDetection - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-28 - **Last Updated**: 2026-04-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 人脸活体检测库(Python 用户库) ![](./python/_images/featured.png) 在 Mind+ **V1 Python 模式**下,基于摄像头读取画面并检测人脸关键点,可用于眨眼、张嘴等动作变化判断。扩展 id:`livenessDetection`。 - **作者**:Nick - **版本**:0.0.1 - **依赖**:`opencv-contrib-python`、`numpy`、`Pillow` # 积木 ![](./python/_images/block.png) # 功能说明 | 积木(中文) | blockType | 生成逻辑 | |----------------|-----------|----------| | 初始化人脸动作检测 摄像头编号 [CAMERA] | command | 初始化摄像头:`mp_liveness_init_camera(CAMERA)` | | 设置画面大小 宽 [WIDTH] 高 [HEIGHT] | command | 设置摄像头画面尺寸:`mp_liveness_set_frame_size(WIDTH, HEIGHT)` | | 读取一帧摄像头画面 | command | 读取当前摄像头画面:`mp_liveness_read_frame()` | | 显示摄像头画面 | command | 显示摄像头窗口:`mp_liveness_show_frame()` | | 关闭摄像头和窗口 | command | 释放摄像头并关闭窗口:`mp_liveness_close()` | | 在画面上显示文字 [TEXT] 位置 x [X] y [Y] 颜色 [COLOR] | command | 在当前画面叠加文字:`mp_liveness_draw_text(TEXT, X, Y, COLOR)` | | 清空画面显示内容 | command | 清空叠加显示内容:`mp_liveness_clear_overlay()` | | 加载人脸检测模型 | command | 加载 OpenCV 人脸关键点模型:`mp_liveness_load_model()` | | 是否检测到人脸? | boolean | 返回当前画面是否检测到人脸:`mp_liveness_is_face_detected()` | | 在画面上显示全部脸部位置点 | command | 绘制全部脸部关键点:`mp_liveness_draw_all_landmarks()` | | 在画面上显示 [PART] | command | 绘制指定脸部区域:`mp_liveness_draw_part(PART)` | | 左眼开合比例 | reporter | 返回左眼开合比例:`mp_liveness_left_eye_ratio()` | | 右眼开合比例 | reporter | 返回右眼开合比例:`mp_liveness_right_eye_ratio()` | | 双眼平均开合比例 | reporter | 返回双眼平均开合比例:`mp_liveness_average_eye_ratio()` | | 嘴巴开合比例 | reporter | 返回嘴巴开合比例:`mp_liveness_mouth_ratio()` | # 使用流程 1. 使用“初始化人脸动作检测”选择摄像头编号,常见默认值为 `0`。 2. 如需指定显示尺寸,使用“设置画面大小”设置宽高。 3. 使用“加载人脸检测模型”加载随包的 `lbfmodel.yaml`。 4. 在循环中读取一帧画面,再按需显示画面、绘制关键点或读取眼睛和嘴巴开合比例。 5. 程序结束或不再使用摄像头时,调用“关闭摄像头和窗口”。 # 下拉菜单 “在画面上显示 [PART]”支持以下脸部区域: | 选项 | 生成值 | |------|--------| | 左眼 | `left_eye` | | 右眼 | `right_eye` | | 左眉毛 | `left_eyebrow` | | 右眉毛 | `right_eyebrow` | | 鼻子 | `nose` | | 嘴巴 | `mouth` | # 加载方式 在 Mind+ V1.x 中选择 **本地导入用户库**,指向本扩展根目录下的 **`config.json`**(与 `README.md` 同级)。 # 注意事项 - 本库需要可用摄像头和完整 Python/OpenCV 运行环境。 - `opencv-contrib-python` 必须可用,因为人脸关键点检测依赖 OpenCV contrib 中的 `cv2.face` 模块。 - 首次运行或依赖未安装时,Mind+ 可能需要先安装 `config.json` 中声明的 pip 依赖。 - 光线、摄像头角度和人脸遮挡会影响关键点检测效果,比例阈值请以实际测试结果为准。 # 更新日志 **V0.0.1** 初始版本