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を使った様々なプログラムを作ることができるので、ぜひチャレンジしてみてください!