pythonを用いた顔検出とその加工処理 opencv-python【プログラムあり】

python活用 python

pythonによる物体検知は、どのようにしたらできるのでしょうか。

このような疑問にお答えします。

物体検知は、openCVを使えば実現することができます。openCVは、コンピュータで動画像を処理するための機能を提供するライブラリです。

pythonでも使用することができ、opencv-pythonとして提供されています。

opencv-pythonは、以下のコマンドでインストールできます。

pythonプロンプトを起動し、以下のプログラムを実行してimportエラーが発生しなければインストール成功です。

実際に物体検知をしてみます。今回は、物体検知として顔検出を行ってみたいと思います。

opencvでは、学習済みの顔検出用のデータが提供されていますので、こちらのデータを使用します。

githubのリポジトリからダウンロードしたデータを任意の場所に置いてください。本記事では、pythonの実行ファイルと同一のディレクトリに置きました。

  • haarcascade_frontalface_default.xml 顔検出用に使用
  • haarcascade_eye.xml 瞳検出用に使用

顔検出で使用するデータは、以下のwebページの素材を使用しました。
フリー素材ぱくたそ

顔検出手順

detectMultiScaleで検出します。

検出箇所に対して、様々な画像処理を実施します。
0:検出箇所を囲む、1:検出箇所に色を塗る、2:検出箇所にモザイク処理をする、3:輪郭を抽出する

以下にソースコードの全体を示します。

出力結果としては、以下のようになりました。

【元画像】

【検出箇所を囲む】

【検出箇所に色を塗る】

【検出箇所にモザイク処理をする】

【輪郭を抽出する】

どうでしょうか?
このように、pythonでもopenCVを使用することができ、簡単に物体検知を実現し、応用的な処理ができます。これを機会にpythonによるopenCVを試してみてはいかがでしょうか。

タイトルとURLをコピーしました