Google Colaboratory上でアニメの顔を検出してみた


環境

Google Colaboratory
windows

opencvとは?

OpenCV(正式名称: Open Source Computer Vision Library)は、オープンソースのコンピューター・ビジョン・ライブラリです。コンピューターで画像や動画を処理するのに必要な、さまざま機能が実装されており、BSDライセンスで配布されていることから学術用途だけでなく商用目的でも利用できます。加えて、マルチプラットフォーム対応されているため、幅広い場面で利用されていることが特徴です。
引用元:OpenCVとは?

概要

・特徴ファイルのダウンロード
・顔を検出して四角で囲む

特徴ファイルをダウンロード

githubから今回使う特徴ファイルをダウンロードします。
https://github.com/nagadomi/lbpcascade_animeface
clone or downloadをクリックすれば、ダウンロードできます。

顔を検出して四角で囲む

特徴ファイルをダウンロードしたら今回使用する画像と特徴ファイルを
Google Colaboratoryにアップロードします。

import cv2
from matplotlib import pyplot as plt
%matplotlib inline
img=cv2.imread("./rezero.jpg")#画像の読み込み
image=cv2.imread("./rezero.jpg",0)
img= cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#RGBに変換する
HAAR_FILE="lbpcascade_animeface.xml"#特徴の読み込み
cascade=cv2.CascadeClassifier(HAAR_FILE)
face=cascade.detectMultiScale(image)#顔検出
for x,y,w,h in face:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),3)#顔を四角で囲む
plt.grid(False)#デフォルトだとグリッドとxy軸ラベルが表示されるので非表示にする
plt.tick_params(labelbottom=False, labelleft=False, labelright=False, labeltop=False)
plt.imshow(img)

エラーがなければ以下のようになると思います。