概述
与图片中的人脸特征点提取差别不大,只需要对摄像头采集到的每一帧图像缓存后进行特征点检测并显示即可。
import cv2
import dlib
#读入摄像头数据
cap=cv2.VideoCapture(0)
#源程序是用sys.argv从命令行参数去获取训练模型,精简版我直接把路径写在程序中了
predictor_path = "shape_predictor_68_face_landmarks.dat"
#使用官方提供的模型构建特征提取器
predictor = dlib.shape_predictor(predictor_path)
#使用dlib自带的frontal_face_detector作为人脸检测器
detector = dlib.get_frontal_face_detector()
while True:
_,frame=cap.read()
dets = detector(frame, 1)
if len(dets) != 0:
shape = predictor(frame, dets[0])
for p in shape.parts():
cv2.circle(frame, (p.x, p.y), 3, (0,0,0), -1)
cv2.imshow('video',frame)
if cv2.waitKey(1)&0xFF==27:
break
cap.release()
cv2.destroyAllWindows()
此程序只能够识别一个人脸,如果要识别多个,则将代码if len(dets) != 0:
改为for i in range(len(dets)):
即可。
最后
以上就是糟糕西牛为你收集整理的【Python】dlib实现视频中人脸68特征点提取的全部内容,希望文章能够帮你解决【Python】dlib实现视频中人脸68特征点提取所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复