opencv視訊人臉檢測

內師大樹莓小隊發表於2020-11-20
import cv2
import os

def jiance_demo(img):
    face_eneine = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')
    faces = face_eneine.detectMultiScale(img,scaleFactor=1.3,minNeighbors=5)
    for (x,y,w,h) in faces:
        print(x,y,w,h)
        img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
    cv2.imshow('img',img)

img = cv2.VideoCapture("D:/java_ceshi/python_sucai/yirenzhixia.mp4")

while True:
    flag,frame=img.read()
    # flag的值是一個布林型別,如果為true說明視訊還沒有播放完,如果為False則視訊已經播放完
    # frame是視訊中的一幀
    if not flag:
        break
    jiance_demo(frame)
    # 將圖片傳入方法中進行檢測
    if ord("a") == cv2.waitKey(5):
        #如果鍵盤輸入的是a則退出迴圈,否則5毫秒播放一幀圖片
        break
cv2.destroyAllWindows()
img.release()
# 釋放資源

相關文章