2012年11月アーカイブ

OpenCVはバージョンがどんどん上がっていき、
バージョンごとにOpenCVのフォルダ構造まで違ったりします。

なので、まず自分の行った環境を以下に示します。
  • Visual Studio 2010(C/C++)
  • OpenCV-2.3.0-win-superpack.exe(http://sourceforge.net/projects/opencvlibrary/files/opencv-win/2.3/)
OpenCVは新しいものは2.4まで出ていますが、OpenCV-2.3.0ではsuperpackというライブラリ等がコンパイルがされた状態で配布されているので非常に簡単に開発をはじめる事ができるのでおすすめです。

さらに、ネット上のサンプルのコードはバージョンが古いものしかない場合も多いので、今回はopencv.jpにある物体認識のサンプルプログラム(http://opencv.jp/sample/object_detection.html)を動かすことを目的とする



以降、具体的な手順になります。OpenCV-2.3.0-win-superpack.exeをC:\OpenCV に展開したとして話を進めます。適宜読み替えてください。

まず、VisualStudio2010で空のプロジェクトを新規作成します。ここではcvTestというプロジェクト名にしました。
ソリューションエクスプローラーのcvTest右クリックして、プロパティを開きます。
「構成プロパティ→C/C++→全般→追加のライブラリディレクトリ」
「C:\OpenCV\build\include;C:\OpenCV\build\include\opencv」
と入力します。

次に、
「構成プロパティ→リンカー→全般→追加のインクルードディレクトリ」
の欄に
「C:\OpenCV\build\x86\vc10\staticlib」
を指定し,
「構成プロパティ→リンカー→入力→追加の依存ファイル」
に各種ライブラリを指定します.
私は以下のようにしました

comctl32.lib;Advapi32.lib;user32.lib;Gdi32.lib;
libjasperd.lib;opencv_gpu230d.lib;libjpegd.lib;
opencv_haartraining_engined.lib;libpngd.lib;opencv_highgui230d.lib;
libtiffd.lib;opencv_imgproc230d.lib;opencv_calib3d230d.lib;
opencv_legacy230d.lib;opencv_contrib230d.lib;opencv_ml230d.lib;
opencv_core230d.lib;opencv_objdetect230d.lib;opencv_features2d230d.lib;
opencv_video230d.lib;opencv_flann230d.lib;zlibd.lib

次に、ソリューションエクスプローラーのcvTest右クリックしてメニューから「追加→新しい項目」を選択します。新しい項目の追加でC++ファイルを選択し、名前をmain.cppにします。
このできたmain.cppに物体認識(顔認識)のサンプルプログラム(http://opencv.jp/sample/object_detection.html)をコピペする。

また,このプログラムは
「haarcascade_frontalface_default.xml」
を必要とするので,
「C:\OpenCV\opencv\data\haarcascades」
の中から
「haarcascade_frontalface_default.xml」
を探して,プロジェクトのソースコードがあるフォルダと同じフォルダにコピーしてください.
さらに,顔認識する対象の画像が必要になるので,適当な写真を用意して同じフォルダにおいておいてください.

これでプログラムをVisual Studioからデバッグ実行をするのですが,その前にコマンド引数として対象の画像ファイル名を渡す必要があるので,
もう一度,プロジェクトのプロパティを開き「デバッグ→実行時引数」に対象の画像ファイル名を書きます.
これでVisual Studioからデバッグ実行をすると対象の画像に対して顔の部分に丸のついた画像が表示されるはずです.

BUFFALO NASのTera Stationを買いました。
で、早速ネットワークに繋いで読み書きテスト・・・
Windowsからはうまくいったように見える
Linuxからは・・・オーナー情報消えてるじゃん!!

どういうことなの?

ということで調べてみたら
このNAS中身はどうやら普通のLINUXマシンで
NFSの設定(/etc/exports)に all_squash という項目があってどうやらこれがオンになっているご様子
しかたがないので、これを書き換えようとするわけですがここからが苦労の始まりでした。

なぜ、デフォルトでオーナーが消える設定になっているのか偉い人の考えることはよくわからないが、
それがこの世界の節理なので諦めて気合でどうにかすることにする。

プロフィール

おぬし(onuxy)

  • 「引きこもり」+「厨二病」+「コミュ障」の3称号を持つ男
  • 座右の銘は「働いたら負け!!」
  • 日々の生活を楽にするために全力で活動中

このアーカイブについて

このページには、2012年11月に書かれたブログ記事が新しい順に公開されています。

前のアーカイブは2011年12月です。

次のアーカイブは2013年2月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 6.2.2