Python如何实现视频人脸检测识别

  介绍

这篇文章将为大家详细讲解有关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")

动图有点花,讲究着看吧:

 Python如何实现视频人脸检测识别

如果是捕捉摄像头,只需要改变以下代码即可:

#,如果获取摄像头,参数修改为,0,即可   cap =, cv2.VideoCapture (0)

关于“Python如何实现视频人脸检测识别”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看的到。

Python如何实现视频人脸检测识别