せっかくOpenCV3をインストールしたので、お決まりの顔認識をやってみたい!
xmlファイルのダウンロードのときに気をつける必要がある。
Windows 8.1
Anaconda 4.4.0 (64-bit)
Python 3.6
Python3.6へのOpenCV3のインストールについては、こちら(WindowsにOpenCV3をインストール)をご覧ください。
conda create -n py35 python=3.5 activate py35 conda install -c https://conda.anaconda.org/menpo opencv3 conda install jupyter numpy matplotlib jupyter notebook
今回は、
C:/python/opencv/ フォルダ下に、
faces.jpg : 画像ファイル
haarcascade_frontalface_alt2.xml : OpenCV3顔検出用xmlファイル
を保存して、そのフォルダでipynbファイルを作成し、pythonスクリプトを入力します。
欲しいのは、https://github.com/opencv/opencv/tree/master/data/haarcascadesの中のxmlファイル群なのだが、ダウンロードに失敗するリスクがあるので、最初は、全部一度にZIPファイル(約83MBもありますが)をダウンロードするのが間違いないです。
https://github.com/opencv/opencv
ZIPファイルをダウンロードして解凍したら、opencv-master.zip > opencv-master > data > haarcascades の中の、「haarcascade_frontalface_alt2.xml」を、上記のfaces.jpgと同じフォルダにコピー。
Anaconda Promptからjupyter notebookを起動して、以下のスクリプトをコピペして、Shift+Enterで実行。
<html>
<script src=“https://gist.github.com/adash333/1aed14fbdbc45efbda6a1b4a189ec711.js”></script>
</html>
実行した結果は以下の通り。
https://github.com/hisafi/haarcascade_opencv
haar-like cascade detectorで顔認識
大阪Pythonの会#04のハンズオン資料
http://shikouno.hatenablog.com/entry/2017/07/28/231123
20170728
PythonでOpenCV|haar-like cascade分類器で顔認識
http://ai-coordinator.jp/opencv_face
2017/6/6
大量の画像から顔の部分のみトリミングして保存する方法