#Anacondaをインストール
https://www.anaconda.com/download/#macos
今回は、Python 3.7 version を使用しています。
ダウンロードして開くと、下の画面が出てくると思うので、Jupyterを選択しましょう。そうすると、ターミナルが起動してブラウザでPythonのコードが書けるようになると思います。
##pythonのファイルを新規作成
画面右上のNewというボタンから、Pythonのファイルを作りましょう。
すると、下の画面が開くと思います。この状態で、新規にファイルが作られています。
名前を、faceRecognitionとしておきましょう。
##いよいよ実装!顔認識!
まずは、opencvをインストールしましょう。
IN [ ]:の中にpythonのコードを書いて、実行しましょう。(Shiftを押しながらEnter)
!pip install opencv-python
周りの枠が緑ではなく、青の状態でキーボードのbを押すと、新しくコードが打てる四角が出てきます。
そしたら、wgetコマンドでgitに上がっているxmlファイルを取ってきましょう。(有難や)
!wget https://raw.githubusercontent.com/opencv/opencv/master/data/haarcascades/haarcascade_frontalface_alt.xml
!wgetコマンドが使えない!って人は、
ターミナルでコマンドをインストールしましょう。
$ brew install wget
brewコマンドが使えない!って人は、(macの人は)
コマンドライン・デベロッパーツールをインストール
ターミナルでコマンドをインストールしましょう。
$ xcode-select --install
xcode-select: note: install requested for command line developer tools
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
!wgetでダウンロードできたら、xmlファイルが同じディレクトリの階層にあると思います。
新しく、また緑から青の四角の状態に戻してキーボードのbを押して新しい四角を出して、変数に入れて確認してみましょう。
cascade_path = "haarcascade_frontalface_alt.xml"
無事に動いていたら、エラーなどが出てこないので動いていると思います。
では、最後に新しくコードを書ける四角をまた出して、コードを書いていきます。
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, im = cap.read()
# ここからのコードを変えながら、微調整するとオリジナルになると思います。
img_gray = cv2.cvtColor(im, cv2.COLOR_RGB2GRAY)
cascade = cv2.CascadeClassifier(cascade_path)
faces = cascade.detectMultiScale(img_gray, scaleFactor=1.1, minNeighbors=2, minSize=(80, 80)) # minNeighborsは人数
print(faces)
if len(faces) > 0:
for (x, y, w, h) in faces:
cv2.rectangle(im, (x,y), (x+w, y+h), (255, 0, 0), 2)
import matplotlib.pyplot as plt
% matplotlib inline
img = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
plt.imshow(img)
blur = cv2.GaussianBlur(im, (0, 0), 1)
cv2.imshow('camera capture', blur)
key = cv2.waitKey(10)
# カメラはESCキーで終了できるように。
if key == 27:
break
# 一旦画像削除の命令
cap.release()
# カメラが立ち上がっているので、全てのウィンドウを閉じる
cv2.destroyAllWindows()