Xubuntu13.04+OpenCV2.4で顔認識してみた

久しぶりにOpenCVを動かす必要があり、試しにOpenCV2.4で顔認識を動かしてみました。
まず、C言語版。

1.OpenCVのインストール

これまでと手順は一緒。バージョンは2.4になっているので、それに応じた変化のみ。

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

2.プログラムの作成

これも前回までと同じ。opencv.jp のサンプルプログラムをコピペして、main.cという名前で保存する。
元のままだと、大きなサイズの画像は画面をはみ出してしまうので、ウインドウサイズを指定するように変更・追加した。(cvNamedWindow の第2パラメータ変更、cvResizeWindowの追加)

// (6)画像を表示,キーが押されたときに終了
 cvNamedWindow ("Face Detection", 0);
 cvResizeWindow("Face Detection", 640, 480);
 cvShowImage ("Face Detection", src_img);
 cvWaitKey (0);

3.コンパイル

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

$ g++ -o main main.c `pkg-config --cflags opencv` `pkg-config --libs opencv`

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

ここは前回とことなる。カスケードファイルは一つになっている。

$ cp /usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml .

としてローカルディレクトリにコピーした。

5.動作テスト

$ ./main ファイル名.jpg(pngでもOKでした)

でWindowが表示されて検出された顔に◯がついた。

6.Python版

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

$ chmod 755 main.py

として実行権限をつけて、

$ ./main.py ファイル名.jpg

と実行したところ、冒頭のimportで失敗します。原因調査の時間はないので、また今度・・・。

コメントを残す

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

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