資源簡介
pycharm工程python調用OpenCV實現USB攝像頭實時人臉檢測,統計每幀人臉檢測消耗的時間,并實時保存人臉截圖

代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
import?cv2
import?sys
import?time
from?PIL?import?Image
def?CatchPICFromVideo(window_name?camera_idx?catch_pic_num?path_name):
????cv2.namedWindow(window_name)
????#?視頻來源,可以來自一段已存好的視頻,也可以直接來自USB攝像頭
????cap?=?cv2.VideoCapture(camera_idx)
????#?告訴OpenCV使用人臉識別分類器
????classfier?=?cv2.CascadeClassifier(“./data/haarcascade_frontalface_alt2.xml“)
????#?識別出人臉后要畫的邊框的顏色,RGB格式
????color?=?(0?255?0)
????num?=?0
????while?cap.isOpened():
????????start_time?=?time.time()
????????ok?frame?=?cap.read()??#?讀取一幀數據
????????if?not?ok:
????????????break
????????grey?=?cv2.cvtColor(frame?cv2.COLOR_BGR2GRAY)??#?將當前楨圖像轉換成灰度圖像
????????#?人臉檢測,1.2和2分別為圖片縮放比例和需要檢測的有效點數
????????faceRects?=?classfier.detectMultiScale(grey?scaleFactor=1.2?minNeighbors=3?minSize=(32?32))
????????if?len(faceRects)?>?0:??#?大于0則檢測到人臉
????????????for?faceRect?in?faceRects:??#?單獨框出每一張人臉
????????????????x?y?w?h?=?faceRect
????????????????#?將當前幀保存為圖片
????????????????img_name?=?‘%s/%d.jpg‘?%?(path_name?num)
????????????????image?=?frame[y?-?10:?y?+?h?+?10?x?-?10:?x?+?w?+?10]
????????????????cv2.imwrite(img_name?image)
????????????????num?+=?1
????????????????if?num?>?(catch_pic_num):??#?如果超過指定最大保存數量退出循環
????????????????????break
????????????????#?畫出矩形框
????????????????cv2.rectangle(frame?(x?-?10?y?-?10)?(x?+?w?+?10?y?+?h?+?10)?color?2)
????????????????#?顯示當前捕捉到了多少人臉圖片了,這樣站在那里被拍攝時心里有個數,不用兩眼一抹黑傻等著
????????????????font?=?cv2.FONT_HERSHEY_SIMPLEX
????????????????cv2.putText(frame?‘num:%d‘?%?(num)?(x?+?30?y?+?30)?font?1?(255?0?255)?4)
????????????????#?超過指定最大保存數量結束程序
????????print?‘每幀人臉檢測消耗時間:?%fs!‘?%?(time.time()?-?start_time)
????????if?num?>?(catch_pic_num):?break
????????#?顯示圖像
????????cv2.imshow(window_name?frame)
????????c?=?cv2.waitKey(10)
????????if?c?&?0xFF?==?ord(‘q‘):
????????????break
????????????#?釋放攝像頭并銷毀所有窗口
????cap.release()
????cv2.destroyAllWindows()
if?__name__?==?‘__main__‘:
????CatchPICFromVideo(“FaceDect“??01000?“./image_save“)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-01-16?16:26??.idea\
?????文件?????????455??2018-01-16?16:13??.idea\FaceRecognition_Training_Test.iml
?????文件?????????183??2018-01-16?16:13??.idea\misc.xm
?????文件?????????310??2018-01-16?16:12??.idea\modules.xm
?????文件???????10859??2018-01-16?16:26??.idea\workspace.xm
?????目錄???????????0??2018-01-16?16:14??data\
?????文件??????837462??2013-11-13?17:44??data\haarcascade_frontalface_alt2.xm
?????目錄???????????0??2018-01-16?16:30??image_save\
?????文件????????2526??2018-01-16?16:25??main.py
評論
共有 條評論