介绍
这篇文章将为大家详细讲解有关Python如何实现视频人脸检测识别,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
<强>案例
强>
这里我们还是使用opencv中自带了哈雾人脸特征分类器,通过读取一段视频来识别其中的人脸。
<强>代码实现:强>
#, - *安康;编码:utf-8 - * - 时间=__author__ “小柒“; 时间=__blog__ “https://blog.52itstyle.vip/" import cv2 import 操作系统 #,保存好的视频检测人脸并截的图 def CatchPICFromVideo (camera_idx, window_name,还以为,catch_pic_num, path_name): ,cv2.namedWindow (window_name) ,#视频来源=,,cap  cv2.VideoCapture (camera_idx) ,#告诉OpenCV使用人脸识别分类器=,,classfier  cv2.CascadeClassifier (os.getcwd () +“\ \ haarcascade \ \ haarcascade_frontalface_alt.xml") ,#识别出人脸后要画的边框的颜色,RGB格式,,颜色是一个不可增删的数组 ,color =, (0,, 255,, 0) num =, 0 ,while cap.isOpened (): ,好的,frame =, cap.read(), #,读取一帧数据 ,if not 好: ,打破=,,grey  cv2.cvtColor(框架,,cv2.COLOR_BGR2GRAY), #,将当前桢图像转换成灰度图像 ,#人脸检测,1.2和2分别为图片缩放比例和需要检测的有效点数=,,faceRects  classfier.detectMultiScale(灰色,scaleFactor=1.2, minNeighbors=3,, minSize=(32岁,32)) ,if len (faceRects),祝辞,0:,#,大于0则检测到人的脸 for 才能;faceRect  faceRects:拷贝,#,单独框出每一张人的脸 ,,x,, y,, w, h =faceRect #,才能将当前帧保存为图片 img_name =,才能“% s/% d.jpg", %, (path_name, num) #,才能打印(img_name) image 才能=,框架(y 安康;10:,y +, h +, 10日,x 作用;10:,x +, w +, 10] cv2.imwrite才能(img_name,形象,,(int (cv2.IMWRITE_PNG_COMPRESSION), 9]) num 才能+=1 if 才能;num 祝辞,(catch_pic_num):, #,如果超过指定最大保存数量退出循环 ,才能休息 #,才能画出矩形框 cv2.rectangle才能(框架,(x 安康;10日,y 作用;10),,(时间+ x w +, 10日,y +, h +, 10),,颜色,,2) #,才能显示当前捕捉到了多少人脸图片了,这样站在那里被拍摄时心里有个数,不用两眼一抹黑傻等着 font 才能=cv2.FONT_HERSHEY_SIMPLEX cv2.putText才能(帧,& # 39;num: % d/100 & # 39;, %, (num),(时间+ x 30岁,y +, 30),,字体,,1,,(0,255,,255),,4) #,才能超过指定最大保存数量结束程序 ,if num 祝辞(catch_pic_num):打破 ,#显示图像 ,cv2.imshow (window_name,框架)=,,c  cv2.waitKey (10) ,if c ,, 0 xff ==,奥德(& # 39;提问# 39;): ,打破 #,才能释放摄像头并销毁所有窗口 ,cap.release () ,cv2.destroyAllWindows () if __name__ ==, & # 39; __main__ # 39;: 100年,#连续截张图像 ,CatchPICFromVideo (“get  face",, os.getcwd() +“\ \ \ \视频kelake.mp4",, 100年,“E: \ \ VideoCapture")
动图有点花,讲究着看吧:
如果是捕捉摄像头,只需要改变以下代码即可:
#,如果获取摄像头,参数修改为,0,即可 cap =, cv2.VideoCapture (0)
关于“Python如何实现视频人脸检测识别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。