'20/08/23更新:condaによるインストール方法を追記しました。
OpenCVをインストールする方法は次の2通りです。
もしくは、anaconda環境下ではcondaで次のようにします。
以上です。
以下では、画像から人や猫犬などの顔検出などを行いたい場合に、機械学習による学習済みデータの分類器をダウンロードする手順について記載しています。
■作業1. カスケードファイルをダウンロードする。
カスケードファイルとは、「haarcascade_frontalface_default.xml」のような.xmlファイルで特徴量をすでに学習済みデータの分類器のことです。
入手方法は2種類ありますが、ダウンロードリンク先は共に下記、本家のGitHubで同じです。
https://github.com/opencv/opencv/tree/master/data/haarcascades
●方法1:必要なのだけを個別にインストールしたい場合
すると下図のような画面に切り替わる。
更に、次のように画面が切り替わるので、右クリックからの名前を付けて保存すれば良いだけ。
●方法2:まとめて全部ダウンロードしたい場合
すると、次のように画面が切り替わるので、図中の②③の順にするだけ
作業2. 方法1もしくは方法2でダウンロードしたカスケードファイルを適当な場所へ移動(保存)する。例えば下図。
※設定に問題がある場合の代表的なエラー例を3つと、各々の対処方法を下記へ示します。
########################################################
◆エラー例1:指定箇所にカスケードファイルがないためのエラー
cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\objdetect\src\cascadedetect.cpp:1689: error: (-215:Assertion failed) !empty() in function 'cv::CascadeClassifier::detectMultiScale'
問題:
cascade = cv2.CascadeClassifier(haarcascade_frontalface_default.xml)
等の例ではカレントフォルダを指定していることになっているが、そこには「haarcascade_frontalface_default.xml」ファイルがないために生じるエラー
対策:
haarcascade_frontalface_default.xml をダウンロードして、その場所(パス)を指定する。
########################################################
◆エラー例2:ファイルパスを通す文字列中の「\」がエスケープ文字と認識されているため生じるエラー
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
問題:
mypath = 'C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\cv2\haarcascade_frontalface_default.xml'
対策:
raw文字を使用する。頭にrawのrを付けるだけ。
mypath = r'C:\Users\[ユーザー名]\Anaconda3\Lib\site-packages\cv2\haarcascade_frontalface_default.xml'
########################################################
◆エラー例3:カスケードファイルはあるが中身が何かおかしいため生じるエラー
SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
問題:
haarcascade_frontalface_default.xml が正常なファイル形式でないため。
対策:
正しいカスケードファイルを正しい方法でダウンロードする。それは、本記事の冒頭の方法1あるいは方法2です。
########################################################
最後に、インストール後の顔認証の実施例は下記リンク先です。
以上
<広告>