news 2026/4/18 6:27:03

【Python-MediaPipe 0.10.31】新版使用技巧-人脸坐标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Python-MediaPipe 0.10.31】新版使用技巧-人脸坐标

MediaPipe-python库封装使用函数

MediaPipe更新后,旧版本的语句无法使用,于是笔者网罗资源(实际上是榨干AI),拼凑了人脸坐标的使用方法。

旧版本代码代码如下:
引用其他博主代码(已在代码块中注明

importcv2importmediapipeasmp mp_face_mesh=mp.solutions.face_mesh mp_draw=mp.solutions.drawing_utils face_mesh=mp_face_mesh.FaceMesh()cap=cv2.VideoCapture(0)whilecap.isOpened():success,frame=cap.read()ifnotsuccess:continueframe_rgb=cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)results=face_mesh.process(frame_rgb)ifresults.multi_face_landmarks:forface_landmarksinresults.multi_face_landmarks:mp_draw.draw_landmarks(frame,face_landmarks)cv2.imshow('MediaPipe Face Mesh',frame)ifcv2.waitKey(1)&0xFF==ord('q'):breakcap.release()cv2.destroyAllWindows()———————————————— 版权声明:本文为CSDN博主「萧鼎」的原创文章,遵循CC4.0BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/liaoqingjian/article/details/145708736

新版本(0.10.31)代码如下:

需要配合一个face_landmarker.task文件使用,可以在文章顶部的face.zip里解压

importnumpyasnpimportcv2importmediapipeasmp MEDIAPIPE_MODEL_PATH="./models/face_landmarker.task"# 坐标模型加载自动化defload_mediapipe_model():try:mp_vision=mp.tasks.vision base_options=mp.tasks.BaseOptions(model_asset_path=MEDIAPIPE_MODEL_PATH)options=mp_vision.FaceLandmarkerOptions(base_options=base_options,running_mode=mp_vision.RunningMode.IMAGE,num_faces=1,output_face_blendshapes=False)returnmp_vision.FaceLandmarker.create_from_options(options)exceptExceptionase:raiseRuntimeError(f"加载MediaPipe模型失败:{e}")# 获取人脸坐标点468个点defget_mediapipe_468_points(img,mp_detector):img_rgb=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)mp_img=mp.Image(image_format=mp.ImageFormat.SRGB,data=img_rgb)results=mp_detector.detect(mp_img)ifnotresults.face_landmarks:returnNoneimg_h,img_w=img.shape[:2]returnnp.array([[int(lm.x*img_w),int(lm.y*img_h)]forlminresults.face_landmarks[0]])# 绘图defdraw_landmarks(img,points):""" 绘制所有关键点+数字编号(避免重叠) :param img: 原始OpenCV图像 :param points: (len(points),2)的关键点坐标数组 :return: 绘制后的图像 """img_copy=img.copy()# 遍历所有81个点foridxinrange(len(points)):p=points[idx].astype(int)# 绘制关键点圆圈(绿色,半径2)cv2.circle(img_copy,(p[0],p[1]),2,(0,255,0),-1)# 调整数字标注位置,避免重叠(根据点的位置微调偏移)offset_x=3ifidx%2==0else-15# 奇偶点左右偏移offset_y=5ifidx<40else-8# 上下部分上下偏移# 绘制数字编号(白色字体,黑色描边增加可读性)# 黑色描边# cv2.putText(img_copy, str(idx), (p[0]+offset_x, p[1]+offset_y),# cv2.FONT_HERSHEY_SIMPLEX, 0.35, (0, 0, 0), 2)# # 白色字体# cv2.putText(img_copy, str(idx), (p[0]+offset_x, p[1]+offset_y),# cv2.FONT_HERSHEY_SIMPLEX, 0.35, (255, 255, 255), 1)returnimg_copy# main模式if__name__=='__main__':# 读取图像img_path='your_img.jpg'img=cv2.imread(img_path)ifimgisNone:raiseValueError(f"图片读取失败:{img_path}")# 加载模型mp_detector=load_mediapipe_model()# 获取人脸坐标mp_468=get_mediapipe_468_points(img,mp_detector)# 绘制人脸坐标fromvisiual_utilsimportdraw_landmarksifmp_468isnotNone:img_point=draw_landmarks(img,mp_468)cv2.imwrite('output.jpg',img_point)# 释放资源mp_detector.close()

原图:

得到结果图如下:

最后附上一张坐标点分布图

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/8 6:12:02

手把手拆解旅行搭子Pro:基于Astron的Agent工作流实战

文章目录1. 前言&#xff1a;为什么需要 Agent 工作流&#xff1f;2. 提示词Agent与工作流Agent2.1 提示词驱动的智能体2.2 工作流驱动智能体3. 旅行搭子Agent工作流设计理念3.1 工作流规则3.2 工作流结构设计4. 星辰 Agent 平台工作流实战&#xff08;旅行搭子&#xff09;4.1…

作者头像 李华
网站建设 2026/4/17 0:53:47

吴忠羽球新势力!金牌教练韩宁波:用专业点燃你的赛场梦想

我的“冠军引路人”——韩宁波教练&#xff1a;以专业之名&#xff0c;点燃羽球梦想在吴忠的羽毛球场上&#xff0c;有这样一位传奇人物——韩宁波教练&#xff0c;他虽非赛场上的超级巨星&#xff0c;却是无数羽毛球少年心中“满级玩家”般的存在。韩教练手中的球拍&#xff0…

作者头像 李华
网站建设 2026/4/15 21:23:46

军工仿真软件如何实现三维公式与Word数据联动?

富文本编辑器集成文档处理与图片上传功能开发实录 作为一名独立开发网站的技术人员&#xff0c;我近期正全力攻克富文本编辑器在处理 Word 内容粘贴及多种文档导入时的一系列问题。以下是我详细的查找与开发过程记录。 一、需求精准定位 &#xff08;一&#xff09;核心功能…

作者头像 李华
网站建设 2026/4/18 6:30:49

2026 年 FPGA 行业现状:回归工程价值,进入稳定增长阶段

2026 年&#xff0c;FPGA 行业已经明显进入了一个与前几年不同的阶段。如果说 2022&#xff5e;2023 年更多是在消化库存、收缩投入&#xff0c;那么近两年行业的关键词正在逐步回到“落地”“交付”和“系统价值”本身。无论是通信、数据中心&#xff0c;还是工业与专用计算场…

作者头像 李华
网站建设 2026/4/18 6:30:28

系统软件找不到msxml3.dll文件 如何修复? 免费下载方法分享

在使用电脑系统时经常会出现丢失找不到某些文件的情况&#xff0c;由于很多常用软件都是采用 Microsoft Visual Studio 编写的&#xff0c;所以这类软件的运行需要依赖微软Visual C运行库&#xff0c;比如像 QQ、迅雷、Adobe 软件等等&#xff0c;如果没有安装VC运行库或者安装…

作者头像 李华