You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mediapipe 0.9.1是否支持人脸关键点?FaceLandmarkerOptions为何不存在?

关于Mediapipe 0.9.1获取人脸关键点的解决方案

Mediapipe 0.9.1确实没有vision.FaceLandmarkerOptions这个API——mediapipe.vision是Mediapipe 0.10.0及以上版本才推出的全新视觉任务架构,你的0.9.1版本还停留在旧的mediapipe.solutions体系,人脸关键点功能是存在的,只是API位置不同。

你需要使用旧版的mediapipe.solutions.face_mesh模块来实现,这是0.9.1中对应的人脸关键点检测工具,具体使用示例如下:

import cv2
import mediapipe as mp

# 初始化FaceMesh
mp_face_mesh = mp.solutions.face_mesh
face_mesh = mp_face_mesh.FaceMesh(
    static_image_mode=True,
    max_num_faces=1,
    min_detection_confidence=0.5
)

# 读取图像(示例)
image = cv2.imread("your_image.jpg")
# 转换为RGB(Mediapipe要求输入RGB格式)
image_rgb = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 处理图像获取结果
results = face_mesh.process(image_rgb)

# 提取人脸关键点
if results.multi_face_landmarks:
    for face_landmarks in results.multi_face_landmarks:
        # 每个face_landmarks包含468个关键点,遍历获取坐标
        for idx, landmark in enumerate(face_landmarks.landmark):
            # 关键点坐标是归一化的,需要转换为图像实际像素坐标
            x = int(landmark.x * image.shape[1])
            y = int(landmark.y * image.shape[0])
            z = landmark.z  # 深度值(可选)
            print(f"关键点 {idx}: ({x}, {y})")

# 释放资源
face_mesh.close()

几个关键说明:

  • static_image_mode=True适用于单张静态图片,若是视频流可以设为False
  • max_num_faces控制最多检测的人脸数量
  • 关键点坐标默认是归一化值(0-1范围),需要乘以图像的宽高得到实际像素位置

内容的提问来源于stack exchange,提问作者ckot

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:22:07