June 23, 2011

Ubuntu10.10 での OpenCV2.3RC with CUDA4.0 の導入

前回はOpenCV2.2のsvn版をつかってCUDA対応のOpenCVを導入してみたが、
OpenCV2.3RCが出たのでインストールしてみる。
RCがとれたのでやってみたのはこっち。

環境としては
OS:Ubuntu10.10 desktop 64bit
OpenCV:OpenCV-2.3.0RC
CUDA:4.0

CUDA4.0の導入についてはこの記事を参照

まずは依存を解決する。
$ sudo apt-get install libtbb2 libtbb-dev libgtk2.0-dev build-essential pkg-config libpng12-0 libpng12-dev libpng3 libpng3-dev libpnglite-dev libpngwriter0-dev libpngwriter0c2 zlib1g-dbg zlib1g zlib1g-dev libjasper-dev libjasper-runtime libjasper1 pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools  libjpeg62 libjpeg62-dev libjpeg62-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec52 libavformat52 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev libdc1394-22-dev libdc1394-22 libdc1394-utils swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev openexr libswscale0 libswscale-dev libeigen2-dev libopenexr-dev subversion subversion-tools doxygen doxygen-gui python-sphinx cmake
また、今回からgtestが必要になったようなのでそちらも導入。
$ sudo aptitude install libgtest-dev

あとはソースをsourceforgeから落としてきて導入。
また、途中でCMakeLists.txtをsedで編集している。これはUbuntuのPythonがsite-packagesを見にいかないため。
さらにdebで管理するためにCheckInstallでdeb化して導入する。RHELと異なりaptitudeで導入できる。
$ mkdir -p ~/local/src
$ cd ~/local/src
$ wget http://downloads.sourceforge.net/project/opencvlibrary/opencv-unix/2.3/OpenCV-2.3.0rc.tar.bz2
$ tar jxvf OpenCV-2.3.0rc.tar.bz2
$ cd OpenCV-2.3.0
$ sed -i s/site-packages/dist-packages/g CMakeLists.txt
$ mkdir release
$ cd release
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BULD_PYTHON_SUPPORT=ON -D WITH_TBB=ON -D WITH_QT=ON -D WITH_QT_OPENGL=ON -D WITH_CUDA=ON -D BUILD_DOXYGEN_DOCS=ON ../
$ make -j2
$ sudo aptitude install checkinstall
$ sudo checkinstall
$ sudo ldconfig
checkinstall中にいろいろきかれるが適宜答えておく。
checkinstallにいろいろ聞かれるのが煩わしい人はcheckinstallの代わりに"make install"とでもしておけば良い。
これで導入は完了。

opencv_test_gpuがきちんと終わらないのは変わらないなー。
RCでも変化がないということはこちらの設定ミスを疑ってみる。
追々チェックしていく。

せっかくなので、このページにかかれているサンプルをコンパイルしてみる。
コンパイルは
$ g++ -I/usr/local/include/opencv2 -L/usr/local/lib -lopencv_gpu test.cpp
で通る。
これは問題なく動いている。

No comments:

Post a Comment