OpenCV - 1.1pre
OpenCV 1.1pre用のメモ書き
- 要調査
new C++ template image classes contributed by Daniel Filip (Google inc.).
see opencv/cxcore/include/cvwimage.h
- ブログ(Rest Term)内の関連エントリー
cv::WImage - OpenCV 1.1
ステレオ画像処理
インストール
Windows版だとビルドエラーが発生したため,Linux版をUbuntu8.10にインストールしました.
今のところ特に問題なく動作しています.
OpenCV (sourceforge.net) からopencv-1.1pre1.tar.gz をダウンロード.
これを適当なディレクトリに入れて展開しておきます.
$ tar zxvf opencv-1.1pre1.tar.gz $ cd opencv-1.1.0
また,OpenCVのソースをmakeするのに必要なg++(gcc),libstdc++はあらかじめ入れておいてください.
以下RedHat系ディストリビューションの場合はapt-getからyumに読み変えてください.
まず画像処理に必要な以下に示すdev系のパッケージをインストールします.
$ sudo apt-get install libgtk2.0-dev //画面描画(HighGUI用)
$ 同上 libpng-dev //pngフォーマットサポート
libjpeg-dev //jpegフォーマットサポート
libtiff-dev //tiffフォーマットサポート (必要ならば)
libavformat-dev //以下動画入出力サポート(ffmpeg)
libavutil-dev
libavcodec-dev
libswscale-dev
libdc1394-13-dev //1394カメラサポート (必要ならば)
また,これらはパッケージはSynapticでも全てインストール可能です.
次に
$ ./configure
を実行. 以下のように表示されれば成功です.
libjpeg等がyesになっていることを確認してください.
# HighGUI configuration ================================================ Windowing system ――――――― Use Carbon / Mac OS X: no Use gtk+ 2.x: yes Use gthread: yes Image I/O ――――――― Use libjpeg: yes Use zlib: yes Use libpng: yes Use libtiff: yes Use libjasper: no Use libIlmImf: no Video I/O ――――――― Use QuickTime / Mac OS X: no Use xine: no Use ffmpeg: yes Use dc1394 & raw1394: yes Use v4l: yes Use v4l2: yes
あとは
$ make $ sudo make install
でインストールできます. (マシンの性能によってはmakeに数分~十数分かかります)
動作確認
pkg-configのパスを通しておきます.
(pkg-configはヘッダファイル,ライブラリ等のコンパイル時のリンクを簡略化するためのツール)
シェル(bash)の設定ファイル(~/.bashrc)に以下を追記
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH
次にOpenCV付属のサンプルで動作確認します.
$ cd /usr/local/share/opencv/samples/c $ sudo chmod u+x build_all.sh $ ./build_all.sh $ ./edge
エッジ検出のデモが実行されれば成功です.
(ちなみにfind_objというのがSURFのデモです)
コンパイル・実行
- foo.cppをコンパイル・実行 (Cの場合はg++をgccで読み変えてください)
$ g++ -o foo foo.cpp `pkg-config --cflags --libs opencv` $ ./foo
コンパイルする度に長いオプションを打つのはツラいと思うのでMakefileを作っておきましょう.
- Makefileの例 (オプション等は便宜追加してください)
CXX = g++ CXXFLAGS = `pkg-config --cflags opencv` LDFLAGS = `pkg-config --libs opencv` TARGET = $@ SOURCE = $@.cpp TARGET: $(CXX) -o $(TARGET) $(SOURCE) $(CXXFLAGS) $(LDFLAGS) .PHONY: clean clean: rm -f *.o *~
- コンパイル・実行
$ make foo $ ./foo
お疲れ様でした.