基于opencv的3d人脸重建 人脸关键点检测系统 人脸建模识别 人脸识别 人脸关键点检测识别

张开发
2026/4/10 6:02:31 15 分钟阅读

分享文章

基于opencv的3d人脸重建 人脸关键点检测系统 人脸建模识别 人脸识别 人脸关键点检测识别
3d人脸重建 智能无接触式眼动追踪系统人脸关键点检测系统 人脸建模识别这段代码主要实现了一个基于OpenCV和PyAutoGUI库的利用眼部动作控制鼠标指针及点击操作的功能以下是详细总结环境导入与初始化• 导入所需的库包括cv2用于图像处理、mediapipe用于人脸关键点检测、pyautogui用于模拟鼠标操作和PILPython Imaging Library 此处虽未使用其功能但已导入。• 初始化FaceMesh对象用于人脸关键点检测并开启摄像头捕获视频流同时获取屏幕的宽度和高度设定一个比例系数ratio用于后续区域计算。主循环处理• 在循环中不断读取摄像头帧图像对图像进行水平翻转、获取图像尺寸、颜色空间转换等预处理操作。• 使用FaceMesh对象处理图像获取人脸关键点信息。若有检测到人脸关键点◦提取关键特征点坐标获取右眼上方特定点索引为54的坐标以及右眼、嘴巴、左眼等部位的关键特征点坐标集合。◦绘制矩形与圆圈标记在图像上绘制矩形框标记右眼上方区域用于后续判断鼠标移动范围并在嘴巴、左右眼等部位的关键特征点位置绘制圆圈标记。◦鼠标移动控制逻辑当满足特定条件右眼上下眼睑距离较近且嘴巴未张开且当前点在右眼上方矩形区域内时根据当前点相对于右眼上方矩形区域的位置计算鼠标在屏幕上的移动坐标并通过pyautogui.moveTo函数移动鼠标指针。◦鼠标点击控制逻辑当左眼上下眼睑距离较近时触发鼠标点击操作此处为左键点击通过pyautogui.click函数实现。结束条件与资源释放• 在窗口中显示处理后的图像当检测到按键ESC键值为27时跳出循环结束程序。• 最后关闭所有OpenCV窗口并释放摄像头资源。这段代码巧妙地结合了人脸关键点检测技术与鼠标控制功能通过眼部动作实现了对鼠标指针的移动和点击操作在人机交互领域具有一定的应用价值 。代码运行教程VisionPointer一款智能的无接触式眼动追踪系统让用户仅通过眼睛就能控制鼠标光标增强了可访问性和交互性。介绍眼控指针是一款利用OpenCV和PyAutoGUI通过眼动来控制鼠标光标的应用程序。该程序利用面部识别和眼动追踪技术通过眨眼动作来移动光标并执行点击操作。功能•光标移动追踪眼球运动并相应地移动鼠标光标。•点击操作通过眨眼执行鼠标点击。•面部追踪使用MediaPipe的面部网格模型进行实时面部检测和追踪。安装系统要求• Python 3.7• 摄像头• 操作系统Windows、macOS、Linux安装依赖项运行以下命令安装所需的库pipinstallopencv-python mediapipe pyautogui pillow使用方法使用以下命令运行程序python eye_control.py确保摄像头已启用并且面部清晰可见。通过移动眼睛来控制鼠标光标。眨左眼执行点击操作。按Esc键退出程序。代码结构•face_mesh_landmarks初始化的面部识别模型。•cap打开摄像头以捕获图像数据。•pyautogui.size()获取屏幕尺寸。主循环• 读取并处理摄像头图像。• 检测眼睛和嘴巴。• 根据眼睛位置移动光标。• 眨眼执行点击操作。注意事项• 程序需要访问摄像头。• 光照条件可能会影响准确性。• 如果未检测到面部请确保摄像头位置正确并且面部清晰可见。

更多文章