https://aiacademy.jp/texts/show/?context=subject-images&id=426
カメラ映像から顔認識
カスケードファイルをダウンロード
ターミナルorコマンドにて
wget https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt.xml
↓ダウンロードされた
texteditorにて「カメラ映像で」というドキュメント名で上のxmlファイルもあるフォルダ内に作成
import cv2
cascade_path = "/Users/cyberbrain/Desktop/haarcascade_frontalface_alt.xml"(# wgetコマンドでダウンロードしたカスケードファイルの絶対パスに変更)
cascade = cv2.CascadeClassifier(cascade_path)
color = (255, 255, 255) # 検出した顔を囲む矩形の色 (白色)
# VideoCapture オブジェクトを取得
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
rect = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30))
if len(rect) > 0:
for x, y, w, h in rect:
cv2.rectangle(frame, (x, y), (x+w, y+h), color)
cv2.imshow('video capture', frame)
# 1ミリ秒待機
k = cv2.waitKey(1)
# ESCキーで終了
if k == 27:
break
cap.release() # 動画ファイル閉じる。(キャプチャデバイスを終了。)
cv2.destroyAllWindows()
import cv2
cascade_path = "/Users/cyberbrain/Desktop/haarcascade_frontalface_alt.xml"(# wgetコマンドでダウンロードしたカスケードファイルの絶対パスに変更)
cascade = cv2.CascadeClassifier(cascade_path)
color = (255, 255, 255) # 検出した顔を囲む矩形の色 (白色)
# VideoCapture オブジェクトを取得
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
rect = cascade.detectMultiScale(gray, scaleFactor=1.1, minNeighbors=2, minSize=(30, 30))
if len(rect) > 0:
for x, y, w, h in rect:
cv2.rectangle(frame, (x, y), (x+w, y+h), color)
cv2.imshow('video capture', frame)
# 1ミリ秒待機
k = cv2.waitKey(1)
# ESCキーで終了
if k == 27:
break
cap.release() # 動画ファイル閉じます。(キャプチャデバイスを終了させます。)
cv2.destroyAllWindows()
カメラが起動
自分の顔が写り自分の顔が認識され四角い枠に囲まれた
今度は応用して 色々してみたい↓
iPhoneでバーコードリーダーでISBNを読み取ってサーバーに送る - argius note
Hello Absurd World! pythonでバーコードリーダーの導入(import zbar on python2.6)