代码拉取完成,页面将自动刷新
同步操作将从 花开富贵/FaceMaster 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import cv2
import dlib
def main():
# 加载视频
video_path = 'videos/001.mp4'
video_capture = cv2.VideoCapture(video_path)
# 初始化 Dlib 的人脸检测器和特征点定位器
detector = dlib.get_frontal_face_detector()
predictor = dlib.shape_predictor('models/shape_predictor_68_face_landmarks.dat')
while True:
# 读取视频帧
ret, frame = video_capture.read()
if not ret:
break
# 缩放图片
# frame = cv2.resize(frame, None, fx=0.8, fy=0.8)
# 在图像中检测人脸
faces = detector(frame)
# 遍历检测到的人脸
for face in faces:
# 绘制人脸框
x, y, w, h = face.left(), face.top(), face.width(), face.height()
cv2.rectangle(frame, (x, y), (x + w, y + h), (0, 255, 0), 2)
# 获取68个特征点
shape = predictor(frame, face)
for pt in shape.parts():
pt_pos = (pt.x, pt.y)
# 绘制68个特征点
cv2.circle(frame, pt_pos, 2, (0, 0, 255), -1)
# 显示图像
cv2.imshow('Video Face Detection', frame)
# 退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 清理
video_capture.release()
cv2.destroyAllWindows()
if __name__ == '__main__':
main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。