Webカメラ+Python+OpenCV 顔認識環境セッティング
- Takeshi Suetani
- 2018年5月15日
- 読了時間: 1分
【インストール環境】
・winPython(Python 3.6 32bit)
以下のwheelをダウンロードして「WinPython Control Panel」でインストール
・OpenCV 3.4.1+contrib
・OpenCV 3.4をダウンロードして解凍
・OpenCV内の検出器(haarcascades\のxmlファイル)をCドライブの直下に移動
(PythonがPath上に存在するユニコードエラーをはき出すため)
【プログラミング】
import cv2 import time
cascade_path="C:\haarcascades\haarcascade_frontalface_default.xml" #cascade_path="C:\haarcascades\haarcascade_frontalface_alt.xml" #cascade_path="C:\haarcascades\haarcascade_frontalface_alt2.xml" #cascade_path="C:\haarcascades\haarcascade_fullbody.xml" #cascade_path="C:\haarcascades\haarcascade_lowerbody.xml" #cascade_path="C:\haarcascades\haarcascade_profileface.xml" #cascade_path="C:\haarcascades\haarcascade_smile.xml" #cascade_path="C:\haarcascades\haarcascade_upperbody.xml"
window = "Push ESC key to stop this program" color = (255, 255, 255) #白
if(__name__ == '__main__'):
# デフォルトカメラ capture = cv2.VideoCapture(0)
# キャプチャ処理 while(True): key = cv2.waitKey(1) if(key == 27): print("exit.") break
# 画像キャプチャ ret, img = capture.read()
# 取り込み開始になっていなかったら上の処理に戻る if(ret == False): print("Capture Failed. ") break
#顔検出 cascade = cv2.CascadeClassifier(cascade_path) facerect = cascade.detectMultiScale(img, scaleFactor=1.1, minNeighbors=1, minSize=(100, 100)) #座標を表示 #print(facerect) #座標に四角形を描画 for rect in facerect: cv2.rectangle(img, tuple(rect[0:2]),tuple(rect[0:2]+rect[2:4]), color, thickness=2) cv2.imshow(window, img) time.sleep(0.050)
# ループ
capture.release() cv2.destroyAllWindows()
Comments