カメラによる顔認識 | python3Xのブログ

python3Xのブログ

ここでは40代、50代の方が日々の生活で役に立つ情報や私の趣味であるプログラム、Excelや科学に関する内容で投稿する予定です。

カメラが撮影する画像の中から

『顔』を検知するプログラムです

面白そうなので以下にコードを記します

但し、事前に『haarcascade_frontalface_alt.xml』ファイルを用意し

cv2.CascadeClassifier以下に、そのパスを明記する必要があります

 

# -*- coding: utf-8 -*
import cv2
try:
    capture = cv2.VideoCapture(0)   
    cascade = cv2.CascadeClassifier(
            r'C:\Users\nakano\Desktop\facial_distinction\lib\haarcascade_frontalface_alt.xml')
   
    while(True):
        ret, frame = capture.read()
        if ret == False:
            print('カメラから映像を取得できませんでした.')
            continue
        facerect = cascade.detectMultiScale(frame)
        if len(facerect) > 0:
            for rect in facerect:
                cv2.rectangle(frame, tuple(rect[0:2]),
                              tuple(rect[0:2]+rect[2:4]), (0, 0,255), thickness=2)
        cv2.imshow('f', frame)
       
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
   
    capture.release()
    cv2.destroyAllWindows()
except:
    import sys
    print("Error:", sys.exc_info()[0])
    print(sys.exc_info()[1])
    import traceback
    print(traceback.format_tb(sys.exc_info()[2]))