トップページ人工知能,実世界DBOpenCV のプログラム例Python + OpenCV 4 で顔検出

Python + OpenCV 4 で顔検出

OpenCV のカスケード分類器を使用

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

【サイト内の関連ページ】

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

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

前準備

Python のインストール,pip と setuptools の更新,Python 開発環境

Python の URL: http://www.python.org/

【Python, pip の使い方】

Python, pip は,次のコマンドで起動できる.

Python 開発環境のインストール】

Python 用 opencv-python 4.3 のインストール

Windows の場合

コマンドプロンプトで次のコマンドを実行

python -m pip install -U opencv-python

Ubuntu の場合

端末で次のコマンドを実行

sudo apt -y update
sudo apt -y install libopencv-dev python3-opencv
  • ラズベリーパイ の場合

    端末で次のコマンドを実行

    sudo apt -y update
    sudo apt -y install libopencv-dev python3-opencv python3-opencv-apps
    

    プログラム例

    Python プログラムを動かすために, Windows では「python」, Ubuntu では「python3」などのコマンドを使う.

    あるいは, 開発環境や Python コンソール(Jupyter Qt ConsoleSpyderPyCharmPyScripter など)の利用も便利である.

    あるいは,オンラインで動くGoogle Colaboratory のノートブックの利用も,場合によっては便利である.

    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_std.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()
    

    [image]

    [image]