mp_drawing.draw_landmarks可是绘制索引吗
时间: 2023-07-31 19:10:17 浏览: 221
shape_predictor_68_face_landmarks.dat
是的,`mp_drawing.draw_landmarks` 函数可以绘制 BlazePose 模型检测到的人体姿态中的每个关键点,并可以选择性地为每个点绘制其索引值。具体来说,可以设置 `draw_index` 参数为 True,来绘制每个点的索引值。以下是一个示例代码:
```python
import cv2
import mediapipe as mp
# 初始化 BlazePose 模型
mp_pose = mp.solutions.pose
pose = mp_pose.Pose()
# 初始化绘图工具
mp_drawing = mp.solutions.drawing_utils
# 读取图片
img = cv2.imread('test.jpg')
# 将图片转换为 RGB 格式
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 使用 BlazePose 模型检测人体姿态
results = pose.process(img)
# 绘制关键点和索引值
mp_drawing.draw_landmarks(img, results.pose_landmarks, mp_pose.POSE_CONNECTIONS,
landmark_drawing_spec=mp_drawing.DrawingSpec(color=(0,255,0), thickness=2, circle_radius=2),
connection_drawing_spec=mp_drawing.DrawingSpec(color=(0,255,255), thickness=2),
draw_index=True)
# 显示图片
cv2.imshow("Output", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在以上代码中,我们使用 `mp_drawing.draw_landmarks` 函数绘制了每个关键点,并使用 `draw_index=True` 参数绘制了每个点的索引值。在绘制关键点时,我们还可以使用 `landmark_drawing_spec` 参数自定义点的颜色和大小,使用 `connection_drawing_spec` 参数自定义连接线的颜色和大小。
阅读全文