亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于python+opencv調(diào)用電腦攝像頭實現(xiàn)實時人臉眼睛以及微笑識別

 更新時間:2021年09月06日 14:03:58   作者:w²大大  
這篇文章主要為大家詳細介紹了基于python+opencv調(diào)用電腦攝像頭實現(xiàn)實時人臉眼睛以及微笑識別,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文教大家調(diào)用電腦攝像頭進行實時人臉+眼睛識別+微笑識別,供大家參考,具體內(nèi)容如下

一、調(diào)用電腦攝像頭進行實時人臉+眼睛識別

# 調(diào)用電腦攝像頭進行實時人臉+眼睛識別,可直接復(fù)制粘貼運行
import cv2

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')

eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml')
# 調(diào)用攝像頭攝像頭
cap = cv2.VideoCapture(0)

while(True):
    # 獲取攝像頭拍攝到的畫面
    ret, frame = cap.read()
    faces = face_cascade.detectMultiScale(frame, 1.3, 5)
    img = frame
    for (x,y,w,h) in faces:
     # 畫出人臉框,藍色,畫筆寬度微
        img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
     # 框選出人臉區(qū)域,在人臉區(qū)域而不是全圖中進行人眼檢測,節(jié)省計算資源
        face_area = img[y:y+h, x:x+w]
        eyes = eye_cascade.detectMultiScale(face_area)
     # 用人眼級聯(lián)分類器引擎在人臉區(qū)域進行人眼識別,返回的eyes為眼睛坐標列表
        for (ex,ey,ew,eh) in eyes:
            #畫出人眼框,綠色,畫筆寬度為1
            cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1)
        
 # 實時展示效果畫面
    cv2.imshow('frame2',img)
    # 每5毫秒監(jiān)聽一次鍵盤動作
    if cv2.waitKey(5) & 0xFF == ord('q'):
        break

# 最后,關(guān)閉所有窗口
cap.release()
cv2.destroyAllWindows()

二、調(diào)用電腦攝像頭進行實時人臉+眼睛識別+微笑識別

import cv2

face_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_frontalface_default.xml')

eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_eye.xml')

smile_cascade = cv2.CascadeClassifier(cv2.data.haarcascades+'haarcascade_smile.xml')
# 調(diào)用攝像頭攝像頭
cap = cv2.VideoCapture(0)

while(True):
    # 獲取攝像頭拍攝到的畫面
    ret, frame = cap.read()
    faces = face_cascade.detectMultiScale(frame, 1.3, 2)
    img = frame
    for (x,y,w,h) in faces:
     # 畫出人臉框,藍色,畫筆寬度微
        img = cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
     # 框選出人臉區(qū)域,在人臉區(qū)域而不是全圖中進行人眼檢測,節(jié)省計算資源
        face_area = img[y:y+h, x:x+w]
        
        ## 人眼檢測
        # 用人眼級聯(lián)分類器引擎在人臉區(qū)域進行人眼識別,返回的eyes為眼睛坐標列表
        eyes = eye_cascade.detectMultiScale(face_area,1.3,10)
        for (ex,ey,ew,eh) in eyes:
            #畫出人眼框,綠色,畫筆寬度為1
            cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,255,0),1)
        
        ## 微笑檢測
        # 用微笑級聯(lián)分類器引擎在人臉區(qū)域進行人眼識別,返回的eyes為眼睛坐標列表
        smiles = smile_cascade.detectMultiScale(face_area,scaleFactor= 1.16,minNeighbors=65,minSize=(25, 25),flags=cv2.CASCADE_SCALE_IMAGE)
        for (ex,ey,ew,eh) in smiles:
            #畫出微笑框,紅色(BGR色彩體系),畫筆寬度為1
            cv2.rectangle(face_area,(ex,ey),(ex+ew,ey+eh),(0,0,255),1)
            cv2.putText(img,'Smile',(x,y-7), 3, 1.2, (0, 0, 255), 2, cv2.LINE_AA)
        
 # 實時展示效果畫面
    cv2.imshow('frame2',img)
    # 每5毫秒監(jiān)聽一次鍵盤動作
    if cv2.waitKey(5) & 0xFF == ord('q'):
        break

# 最后,關(guān)閉所有窗口
cap.release()
cv2.destroyAllWindows()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論