OpenCVをちょっと使って顔検出してみた

Webを散策していたらOpenCVのサンプルプログラムの顔検出をWindowsで動かす事例があったので、同様のことがLinuxでできないかLinuxMintでやってみました。環境はLinuxMint11 64bitです。

C言語版でも作業は簡単で、あっという間に動作しました。Python版はコンパイル方法などを悩む必要がない分、更に簡単でした。

まず、C言語版を試してみました。

1.OpenCVのインストール

Synapticパッケージマネージャで「OpenCV」を検索し、以下のものを依存するものも含めてインストールした。

  • opencv-doc
  • python-opencv
  • libcv2.1
  • libhighgui2.1
  • libcvaux2.1
  • libcv-dev
  • libcvaux-dev
  • libhighgui-dev

この時点では別にPythonで動かそう、というつもりはなかったけど、とりあえずpython-opencvもインストールしてしまいました。

2.プログラムの作成

opencv.jp のサンプルプログラムをコピペして、main.cという名前で保存する。

3.コンパイル

以下のコマンドによりコンパイル。インクルードファイルやライブラリの位置は pkg-config で勝手に探してもらう。

4.カスケードファイルの準備

標準で入っているカスケードファイルを検索すると、

となったので、

としてすべて展開した。

5.動作テスト

でWindowが表示されて検出された顔に◯がつきました。まあ、そこそこ・・・・でしょうかね。

・・・・で、さらに、Python版を試してみました。

6.Python版のプログラムの作成

opencv.jp のサンプルプログラムのところにある「Python版に切り替え」というボタンを押した後、コードをコピペして、main.pyという名前で保存して、

として実行権限をつけてやる。

7.Python版の動作テスト

カスケードファイルは既に準備済みなので、

でC言語版と同様の結果になりました。

やっぱりPythonは楽ちんですね~~。(楽ちんになるようにしてくれている方のおかげですが)
これを Raspbian でやれたら面白そうです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)