Python中使用MediaPipe进行人脸关键点检测

Python中使用MediaPipe进行人脸关键点检测

安装Anaconda

https://www.anaconda.com/download

下载并安装后,启动Anaconda,在某个环境的运行按钮上点击鼠标左键,并在弹框中选择Open Terminal

Anaconda

安装MediaPipe

在上一步打开的终端中,执行以下命令:

1
pip install mediapipe

在某个目录下编写以下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import cv2
import mediapipe as mp
# 加载mediapipe
mp_face_mesh = mp.solutions.face_mesh
mp_draw = mp.solutions.drawing_utils
# 加载mediapipe的face_mesh
face_mesh = mp_face_mesh.FaceMesh(
static_image_mode=False,
max_num_faces=1,
refine_landmarks=True,
min_detection_confidence=0.5,
min_tracking_confidence=0.5
)
cap = cv2.VideoCapture(0)
try:
# 打开摄像头
while cap.isOpened():
# 读取摄像头
ret, frame = cap.read()
# 转换颜色
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# 处理图片
results = face_mesh.process(frame)
if results.multi_face_landmarks:
# 遍历人脸关键点
for face_landmarks in results.multi_face_landmarks:
# 绘制关键点
mp_draw.draw_landmarks(frame, face_landmarks, mp_face_mesh.FACEMESH_TESSELATION)
cv2.imshow('frame', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
except KeyboardInterrupt:
print("键盘中断")
# 销毁窗口
cv2.destroyAllWindows()
# 关闭摄像头
cap.release()

然后,在之前的终端中执行以下命令(假定代码保存在face_mesh.py文件中,path/to/face_mesh.py需要是真实路径):

1
python path/to/face_mesh.py

效果

MediaPipe-Result.png


Python中使用MediaPipe进行人脸关键点检测
https://daniate.github.io/2023/09/08/Python-使用MediaPipe进行人脸关键点检测/
作者
Daniate
发布于
2023年9月8日
许可协议