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の追加)

3.コンパイル

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

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

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

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

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

5.動作テスト

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

6.Python版

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

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

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

LinuxMint13でOpenCVを動かす

LinuxMint13でOpenCVを動かしてみました。

OpenCVをインストールするためにSynapticで検索してみると、Mint11の場合と違ってMint13の場合にはOpenCVのバージョンが2.3.1になっていました。opencvで検索される

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

を依存関係にあるファイルとともにインストールしました。インストール後、先に準備したディレクトリ(カスケードファイルもある)で、

として実行ファイルを生成し、

で顔認識は動きました。(でも、カスケードファイルは更新されてるかも??)
フーリエ変換の方も、

として、

としたら問題なく動作しました。

OpenCVの2次元フーリエ変換サンプルを動かしてみた

フーリエ変換は(自分が)わかっているようでわかってない。確かに数式は成り立つようだし、実際に世の中で役に立ってるんだから間違いないのだけど、実感できないものの一つだと思います。
OpenCVのサンプルを見ていたら面白いものがあったので、自分でコンパイルして試してみました。

“OpenCVの2次元フーリエ変換サンプルを動かしてみた” の続きを読む

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

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

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

“OpenCVをちょっと使って顔検出してみた” の続きを読む