Jupyter Labで顔認識の入門
Contents
動作環境
Windows 10
Anaconda Navigator 1.9.12
Jupyter Lab 1.1.4 (Anaconda3に付属)
OpenCVをインストールする
opencvは画像を操作するためのpythonのパッケージです。互換性の問題がありますので、自分は以下のコマンドでインストールしています。
詳しくは、https://anaconda.org で調べて下さい。
!conda install -c menpo opencv
//確認
conda list
(実行結果)
opencv 3.4.2 py37h40b0b35_0
// opencvのバージョン確認
import cv2
print(cv2.__version__)
(実行結果)
3.4.2
その他のライブラリのインストール
conda install matplotlib
# ↓画像に文字を表示したい場合に利用するライブラリ
conda install pillow
Jupyter Labで顔認証する
コードの参考元:https://qiita.com/TakayukiNJ/items/c6fea71a3dfc2a8a0b80
import cv2
import sys
import matplotlib.pyplot as plt
def main():
cap = cv2.VideoCapture(0)
if not cap.isOpened():
sys.exit(1)
# このファイルを置かないといけない
cascade_path = "haarcascade_frontalface_alt.xml"
while True:
ret, im = cap.read()
img_gray = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
cascade = cv2.CascadeClassifier(cascade_path)
# minNeighborsは人数
faces = cascade.detectMultiScale(img_gray, scaleFactor=1.1, minNeighbors=2, minSize=(80, 80))
if len(faces) > 0:
for (x, y, w, h) in faces:
cv2.rectangle(im, (x,y), (x+w, y+h), (255, 0, 0), 2)
img = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
plt.imshow(img)
blur = cv2.GaussianBlur(im, (0, 0), 1)
cv2.imshow('camera capture', blur)
# ESCキーで終了
if cv2.waitKey(10) == 27:
break
cap.release()
cv2.destroyAllWindows()
if __name__ == "__main__":
main()
TrainingAssistantを使って画像データの座標を記録する方法
画像認証のデータを作成する方法です。
anaconda consoleから以下のコマンドを実行する
// ディレクトリを移動する
cd [gitリポジトリを置きたいディレクトリ]
// cloneする
// git clone https://github.com/shkh/TrainingAssistant.git
cd TrainingAssistant
git submodule init
git submodule update
cd static/Jcrop
git checkout master
cd ../..
pip install -r freezed.txt
TrainingAssistant/static/imgにファイルを置けば動くはずなのだが、動かない。
確認中。これできればいいのになあ。
python views.py
