サーバレス練習帳

着眼大局着手小局

python/Webカメラ/顔検出

まずは、このリンクの通りにやってみますよ!
qiita.com

(1) 環境を作る
あ、いや、やっぱりアナコンダは嫌だな。virtualenvにしよう。

C:\python>virtualenv face
C:\python>cd face
C:\python\face>Scripts\activate
C:\python\face>pip list

Package    Version
---------- -------
pip        20.0.2
setuptools 45.2.0
wheel      0.34.2

まず、これで環境を作って、入って、そこに何もインストールされていないことを確認する。

(2) opencvをインストールする

C:\python\face>pip install opencv-python
C:\python\face>pip list

Package       Version
------------- --------
numpy         1.18.2
opencv-python 4.2.0.34
pip           20.0.2
setuptools    45.2.0
wheel         0.34.2

なんと、numpyも一緒にダウンロードされるのか。

(3) xmlを取ってくる
wgetとかbrewとかの使い方が分からないので、直接ブラウザで次のファイルを取ってきます。

https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt.xml]

(4)
先のリンクのfaceRecognition.pyを動かしてみるが、
どうやら# % matplotlib inlineあたりが、jupyterじゃないと動かないっぽい。
うーむ。とりあえず、ここまでをfaceRec1.pyとして保存しておいた。

・・・ということで、ここから別の記事を参照します。
qiita.com

コチラの記事では、別のHaar-like特徴分類器を使うようです。
"haarcascade_frontalface_alt2.xml"みたいです。

https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt2.xml
https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_eye_tree_eyeglasses.xml

記事の中の"face_and_eye_recognition.py"を、そのまま使ってみます。
XMLファイルの配置に注意しましょう。

とりあえず、まずは動いた!ここまでをfaceRec2.pyとして保存しておいた。
ただ、私はモザイクかけるプログラムを作りたいわけではないので、ここからプログラムを改造していきます。
というか、確かに、PC負荷が高い。こういうときって、マルチスレッドだったよね。
とはいえ、pythonのthreadingを使っても上手く常駐させられなかったような気もする。

やっぱり、よりプリミティブなC++/C#/VB/delphiで作らないとね。
(つづく)