===== OpenCV3で顔認識 =====
せっかくOpenCV3をインストールしたので、お決まりの顔認識をやってみたい!
xmlファイルのダウンロードのときに気をつける必要がある。
==== 開発環境 ====
Windows 8.1\\
Anaconda 4.4.0 (64-bit)\\
Python 3.6
Python3.6へのOpenCV3のインストールについては、[[windowsにopencv3をインストール|こちら(WindowsにOpenCV3をインストール)]]をご覧ください。
==== python3.5の場合の開発環境作成 ====
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
==== 1.フォルダ構成 ====
今回は、\\
C:/python/opencv/ フォルダ下に、\\
faces.jpg : 画像ファイル\\
haarcascade_frontalface_alt2.xml : OpenCV3顔検出用xmlファイル\\
を保存して、そのフォルダでipynbファイルを作成し、pythonスクリプトを入力します。
==== 2.画像の用意 ====
人の顔がうつっている写真を用意して保存する。今回は、https://www.photo-ac.com/から以下の画像をダウンロードして、faces.jpgという名前で保存した。
{{:pasted:20170811-233338.png}}
{{:pasted:20170811-234329.png}}
==== 3.OpneCV-master.zipのダウンロード ====
欲しいのは、https://github.com/opencv/opencv/tree/master/data/haarcascadesの中のxmlファイル群なのだが、ダウンロードに失敗するリスクがあるので、最初は、全部一度にZIPファイル(約83MBもありますが)をダウンロードするのが間違いないです。
https://github.com/opencv/opencv
{{:pasted:20170811-233524.png}}
ZIPファイルをダウンロードして解凍したら、opencv-master.zip > opencv-master > data > haarcascades の中の、「haarcascade_frontalface_alt2.xml」を、上記のfaces.jpgと同じフォルダにコピー。
{{:pasted:20170811-233800.png}}
{{:pasted:20170811-233949.png}}
コピーした後の状態
{{:pasted:20170811-233349.png}}
==== 4.顔認識スクリプトの実行 ====
Anaconda Promptからjupyter notebookを起動して、以下のスクリプトをコピペして、Shift+Enterで実行。
実行した結果は以下の通り。
{{:pasted:20170811-234628.png}}
{{:pasted:20170811-234648.png}}
===== 参考 =====
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
大量の画像から顔の部分のみトリミングして保存する方法