Pythonには、機械学習や画像処理に利用されるOpenCVというライブラリがあります。今回は、このOpenCVを用いて、猫の顔を認識するプログラムを作ってみましょう。
必要なライブラリのインストール
まずは、OpenCVをインストールする必要があります。以下のコマンドを実行して、インストールを行ってください。
pip install opencv-python
また、本プログラムでは画像の表示にもPillowというライブラリを使用します。以下のコマンドを実行して、Pillowもインストールしてください。
pip install pillow
プログラムの実装
それでは、本題のプログラムを書いていきましょう。以下が、猫の顔認識プログラムのコードです。
import cv2
from PIL import Image
# カスケード分類器の読み込み
cascade_path = "haarcascade_frontalcatface.xml"
cascade = cv2.CascadeClassifier(cascade_path)
# 画像の読み込み
img_path = "cat.jpg"
img = cv2.imread(img_path)
# グレースケール変換
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 顔の検出
faces = cascade.detectMultiScale(gray_img)
# 顔に四角形を描画
for (x, y, w, h) in faces:
cv2.rectangle(img, (x, y), (x + w, y + h), (255, 0, 0), 2)
# 画像の表示
im = Image.fromarray(cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
im.show()
プログラムの実行
プログラムの実行は、以下のコマンドで行えます。
python cat_face_detection.py
上記のコマンドを実行すると、画像が表示され、猫の顔に四角形が描画された画像が表示されます。
以上で、「猫の顔認識」プログラムの作成は終了です。他にもOpenCVを使った様々なプログラムを作ることができるので、ぜひチャレンジしてみてください!