Skip to content

Instantly share code, notes, and snippets.

@kurozumi
Last active August 17, 2021 15:49
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save kurozumi/04a75695dc32c46586be0d69e6a8243f to your computer and use it in GitHub Desktop.
Save kurozumi/04a75695dc32c46586be0d69e6a8243f to your computer and use it in GitHub Desktop.
【Python】OpenCVを使ってマックの内蔵カメラを起動して画面に人の顔が認識されたら白枠を表示させる方法
# coding: utf-8
import cv2
if __name__ == "__main__":
# 内蔵カメラを起動
cap = cv2.VideoCapture(0)
# OpenCVに用意されている顔認識するためのxmlファイルのパス
cascade_path = "/usr/local/share/OpenCV/haarcascades/haarcascade_frontalface_alt.xml"
# カスケード分類器の特徴量を取得する
cascade = cv2.CascadeClassifier(cascade_path)
# 顔に表示される枠の色を指定(白色)
color = (255,255,255)
while True:
# 内蔵カメラから読み込んだキャプチャデータを取得
ret, frame = cap.read()
# モノクロで表示する
#frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 顔認識の実行
facerect = cascade.detectMultiScale(frame, scaleFactor=1.2, minNeighbors=2, minSize=(10,10))
# 顔が見つかったらcv2.rectangleで顔に白枠を表示する
if len(facerect) > 0:
for rect in facerect:
cv2.rectangle(frame, tuple(rect[0:2]), tuple(rect[0:2]+rect[2:4]), color, thickness=2)
# 表示
cv2.imshow("frame", frame)
# qキーを押すとループ終了
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 内蔵カメラを終了
cap.release()
cv2.destroyAllWindows()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment