Mac: OpenCVの導入

 

Contents

Homebrew OpenCVの導入

 

chen@Hong-Mac-mini Python % brew install opencv
Updating Homebrew…

沢山のメッセージが流れ、終わったらしい。

インストールしたものを確認。

最近知ったのですが、モジュールのインストールの確認だけであれば、わざわざインタラクティブシェルを起動しなくても、以下のようなコマンドで問題無いようです。

chen@Hong-Mac-mini ~ % python -c 'import cv2'
chen@Hong-Mac-mini ~ %

環境設定の確認

次のコードで、現在Phthonと顔認識パッケージのバージョンの確認できる

myenv.py

import sys
import cv2
import numpy
print("sys.path:\n" + "\n".join(sys.path))
print("OpenCV: " + cv2.__version__)
print("NumPy: " + numpy.__version__)

 

chen@Hong-Mac-mini Python % vi myenv.py
chen@Hong-Mac-mini Python % python myenv.py
sys.path:
/Users/chen/Documents/Python
/usr/local/lib/python3.8/site-packages/cv2/python-3.8
/usr/local/Cellar/python@3.8/3.8.3_1/Frameworks/Python.framework/Versions/3.8/lib/python38.zip
/usr/local/Cellar/python@3.8/3.8.3_1/Frameworks/Python.framework/Versions/3.8/lib/python3.8
/usr/local/Cellar/python@3.8/3.8.3_1/Frameworks/Python.framework/Versions/3.8/lib/python3.8/lib-dynload
/usr/local/lib/python3.8/site-packages
/usr/local/Cellar/protobuf/3.12.3/libexec/lib/python3.8/site-packages
OpenCV: 4.3.0
NumPy: 1.19.0
chen@Hong-Mac-mini Python %

 

 

顔画像の自動収集

ソースコードの取得

Cloning into ‘hello_ghome’…
remote: Enumerating objects: 23, done.
remote: Total 23 (delta 0), reused 0 (delta 0), pack-reused 23
Unpacking objects: 100% (23/23), done.

収集したデータの保存フォルダを作成

 % cd hello_ghome

% mkdir img

haarcascades PATHの修正

OpenCVでは、顔・目などを検出できるカスケード識別器の学習済みファイルhaarcascadesを事前に用意されています。

OpenCVインストールしたなら、haarcascadesファイルのもうどこかに置いてる。まず、locateコマンドでhaarcascadesファイルの場所を確認してください。
 % locate  haarcascade_frontalface_alt.xml
見つからないなら、Githubからgit cloneしましょう。
次は、テキストエディタで face_camera/detector.py の haarcascades に対応PATHの修正。
% vi face_camera/detector.py

コード実行してみる

 % python face_camera/camera.py img/
img//2020-07-10-180719_0.jpgis clip and saved!
img//2020-07-10-180719_0.jpgis clip and saved!
img//2020-07-10-180720_0.jpgis clip and saved!
img//2020-07-10-180720_0.jpgis clip and saved!
img//2020-07-10-180721_0.jpgis clip and saved!
img//2020-07-10-180721_0.jpgis clip and saved!
img//2020-07-10-180722_1.jpgis clip and saved!
img//2020-07-10-180722_1.jpgis clip and saved!

 

 

関連記事:

  • https://qiita.com/niwasawa/items/03b1496dbb360ca157e0 — OpenCV 4.3 + Python で Hello World と顔検出