トップページ -> 実践知識 -> OpenCV と Python によるコンピュータビジョン、画像処理 -> Python + OpenCV で顔検知
[サイトマップへ], [サイト内検索へ],

Python + OpenCV で顔検知

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ
OpenCV のカスケード分類器を使用

キーワード: OpenCV, cv2.CascadeClassifier, Python, 顔検知, カスケード分類器, Haar

サイト内の関連Webページ

参考Webページ: https://github.com/marcpare/stitch

参考Webページ: https://www.packtpub.com/mapt/book/application_development/9781785283932/4/ch04lvl1sec36/detecting-and-tracking-faces


前準備

Anaconda のインストール

前準備として,Python 開発環境のAnaconda のインストールが終わっていること.

以下,Windows に Anaconda をインストール済みであるものとして説明を続ける.

OpenCV, spyder パッケージのインストール

Windows では次の手順で行う

  1. Window でコマンドプロンプトを実行

  2. OpenCV, spyder パッケージのインストール

    ※ 「conda install」は、パッケージをインストールするためのコマンド

    conda install -y spyder opencv
    


プログラム例

Python プログラムを動かしたい. そのために,「Python コンソール」を使う.

PyCharm, Anacondaに入っているspyder を使うのが簡単.

import cv2
import numpy as np

face_cascade = cv2.CascadeClassifier('C:\ProgramData\Anaconda3\pkgs\opencv-3.2.0-np112py36_204\Library\etc\haarcascades\haarcascade_frontalface_alt.xml')

bgr = cv2.imread('d:/lena.jpg', cv2.IMREAD_COLOR)
gray = cv2.cvtColor(bgr, cv2.COLOR_BGR2GRAY)

face_rects = face_cascade.detectMultiScale(gray, 1.1, 3)
if len(face_rects) > 0:
    for (x,y,w,h) in face_rects:
        cv2.rectangle(bgr, (x,y), (x+w,y+h), (0,255,255), 4)
else:
    print("no faces")
        
cv2.imshow("Face Detector", bgr)
print("press any key to exit")
c = cv2.waitKey()

cv2.destroyAllWindows()