凡人エンジニアの自分探し旅

AWSやクラウドサービス、英会話についての話題を発信するインフラエンジニアのブログ

顔認識プログラムを作ってみた

1. 写真の準備

①顔認識させる画像を準備します。今回はインターネットに落ちていた西川ファミリーの写真をお借りします。
②写真を任意のフォルダに保存します。

f:id:ma-kun0610:20200411000550j:plain
photo.jpg

2. プログラミング

Python言語でプログラムを書きます。
今回は「顔を認識して赤の枠線で囲う処理」にしてみます。

import cv2

cascade = cv2.CascadeClassifier('C:\\Users\\masao\\github\\sample\\haarcascade_frontalface_alt.xml')
img = cv2.imread('C:\\Users\\masao\\github\\sample\\photo.jpg')
gray = cv2.cvtColor(img, cv2.IMREAD_GRAYSCALE)
faces = cascade.detectMultiScale(gray, scaleFactor=1.2)

for (x,y,w,h) in faces:
    cv2.rectangle(img, (x, y), (x + w, y + h), (0, 0, 255))

cv2.imshow('sample' , img)
cv2.waitKey(0)
cv2.destroyAllWindows()

3. プログラム実行

Jupyterというブラウザ上で動く、実行環境でPythonを動かしてみます。

f:id:ma-kun0610:20200411001555j:plain
プログラム実行環境

4. プログラム実行結果

f:id:ma-kun0610:20200411001956j:plain
プログラム実行結果

5. 感想

Pythonには豊富なライブラリが用意されており、プログラミング経験が乏しい私でも、数行で顔認識プログラムが作れました。
次は簡単なアプリケーションにチャレンジしてみようと思います。