【Python版OpenCV】アニメ顔を検出

Python+OpenCVでCascade識別器(分類器)を実装し、画像からアニメ顔を検出する方法をソースコード付きで解説します。

LBP Cascade

OpenCVでは、cv2.CascadeClassifierとdetectMultiScaleメソッドでカスケード型識別器を実装できます。

書式

cascade = cv2.CascadeClassifier(path)
face = cascade.detectMultiScale(src, scaleFactor, minNeighbors, minSize)
パラメータ名 説明
path 使用するカスケード識別器のファイルパス
src 入力画像
scaleFactor 画像スケールにおける縮小量
minNeighbors 矩形を要素とするベクトル
minSize 探索窓の最小サイズ(これより小さい対象は無視)
face 探索結果(見つかった場所の左上座標・幅・高さを格納したリスト)

今回はアニメの顔を検出するために有志がGithubで公開してくださっている「lbpcascade_animeface.xml」を使います。
このカスケード型識別器は下記URL先から入手できます。
https://github.com/nagadomi/lbpcascade_animeface

ソースコード(Python3 + OpenCV3)

サンプルプログラムのソースコードです。


実行結果

サンプルプログラムの実行結果です。

お借りした画像:プロ生ちゃん(暮井 慧)

【PythonとOpenCVで画像処理超入門】使い方とサンプルコードを解説
Python版OpenCVで画像処理プログラミングを行う方法を入門者向けにソースコード付きで解説するページです。
この記事を書いた人
西住技研

Python使用歴10年以上。研究、仕事、趣味でデータ分析や作業自動化などに活用してきたノウハウを情報発信しています。
詳しいプロフィールやお問合せはこちらのページまで。
YoutubeX(旧Twitter)でも情報発信中です!

西住技研をフォローする
OpenCV

コメント