画像処理に使用するライブラリやサンプルプログラムなどの紹介
詳細は添付したテキストファイルを参照してください
目次
today: ?
yesterday: ?
total: ?
更新履歴
2010/12/08
- OpenCV2.2のインストール方法を修正
- Qtの実装について追加
- apt-getを修正
2010/12/13
- OpenCVのインストール方法を修正
- apt-getとcmakeを見やすく
- cmakeの結果を修正
- 添付ファイルの修正
2011/03/20
- OpenCVのインストール方法をsvn版に修正
- 今までのインストール方法はtxtファイルで閲覧可能にした
2011/03/25
- OpenCVのインストール方法を修正
- 誤字(cmae -> cmake)を修正
2011/05/28
- OpenCVのインストール方法をUbuntu 11.04用にした
2011/06/11
- libwebcamのインストール方法を更新
OpenCV
はじめに
OpenCV 2.3 svn版のインストールを行う.
svn版は開発版なので,最新機能をバシバシ使いたい人向け.
通常版のインストール方法も下にあります.
基本的にOpenCVのWikiを見ながら以下の作業を行った.
http://opencv.willowgarage.com/wiki/InstallGuide
端末入力はこの色
端末出力はこの色
設定環境
OpenCVをインストールした環境,他は未確認
- OS: Ubuntu 11.04
- gcc: 4.5.2
- cmake: 2.8.2
- Python: 2.7.1
- Qt: 4.7.2
apt-getによるインストール
OpenCVをインストールするために必要なライブラリなどをインストールする
インストールするもの一覧
- LibTBB: Leverage multi-core processor performance [#f54365c4]
- LibGTK: Creating graphical user interfaces
- pkg-config: Managing library compile and link flags
- LibPNG: The official PNG reference library
- Zlib: Lossless data-compression library
- LibTIFF: Tag Image File Format
- LibJPEG: JPEG image compression
- FFmpeg: Convert and stream audio and video
- Xine: Free multimedia player
- LibDC: Digital camera specification
- SWIG: Including common scripting languages
- Libv4l: Top of video4linux2 devices
- Python-Numpy: Contains a N-dimensional array object
- OpenEXR: High Dynamic-Range (HDR) image file format
- Libswscale: The video scaling library from the ffmpeg
- Libeigen2: Lightweight C++ template library
apt-get実行
- GUI関係
$ sudo apt-get install freeglut3 freeglut3-dev libglu1-mesa-dev libice-dev libmysqlclient16 libphonon4 libqglviewer-dev-common \ libqglviewer-qt4-2 libqglviewer-qt4-dev libqt4-declarative libqt4-designer libqt4-dev libqt4-help libqt4-network libqt4-opengl \ libqt4-opengl-dev libqt4-qt3support libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test \ libqt4-xmlpatterns libqtwebkit-dev libqtwebkit4 libsm-dev libxmu-dev libxmu-headers libxt-dev mysql-common phonon \ phonon-backend-gstreamer qt4-qmake
- cmake結果
- GUI
-- QT 4.x: 1
-- QT OpenGL support: 1
- Media関係
$ sudo apt-get install zlib1g-dev libpng12-dev zlib1g-dev \ libjpeg62-dev libtiffxx0c2 libjpeg62-dev libtiff4-dev libtiffxx0c2 libjasper-dev \ libilmbase-dev libopenexr-dev
- cmake結果
- Media I/O
-- ZLib: TRUE
-- JPEG: TRUE
-- PNG: TRUE
-- TIFF: TRUE
-- JPEG 2000: TRUE
-- OpenEXR: YES
-- OpenNI: FALSE
- Video I/O関係
$ sudo apt-get install libdc1394-22-dev libraw1394-dev libdc1394-22 libgsm1 libpostproc51 libschroedinger-1.0-0 libswscale0 libva1 libvpx0 \ ffmpeg libavcodec52 libavdevice52 libavfilter1 libavformat52 libavutil50 libavcodec-dev libavformat-dev libavutil-dev \ libswscale-dev \ debhelper html2text libglib2.0-dev libgstreamer0.10-dev libmail-sendmail-perl libsys-hostname-long-perl libxml2-dev po-debconf libgstreamer-plugins-base0.10-dev \ libpthread-stubs0 libpthread-stubs0-dev libunicap2 libunicap2-dev libx11-dev libxau-dev libxcb1-dev libxdmcp-dev libxext-dev libxv-dev x11proto-core-dev x11proto-input-dev x11proto-kb-dev x11proto-video-dev x11proto-xext-dev xtrans-dev \ libv4l-dev \ libfreetype6-dev libslang2-dev libxine-dev libxine1-bin libmad0 libxine1-ffmpeg
- cmake結果
- Video I/O
-- DC1394 1.x:
-- DC1394 2.x: 1
-- FFMPEG: 1
-- codec: 1
-- format: 1
-- util: 1
-- swscale: 1
-- gentoo-style: 1
-- GStreamer: 1
-- UniCap:
-- PvAPI:
-- V4L/V4L2: Using libv4l
-- Xine: 1
- Interface関係
$ sudo apt-get install libblas3gf libgfortran3 liblapack3gf python-numpy \ tbb-examples libtbb-doc libtbb-dev libtbb2 \ libeigen2-dev
- cmake結果
- Interfaces
-- Python: ON
-- Python interpreter: /usr/bin/python2.7
-- Python numpy: YES
-- Use IPP: NO
-- Use TBB: YES
-- Use Cuda: NO
-- Use Eigen2: YES
OpenCV svn版のインストール
svnのインストール
OpenCVの最新機能を使用するために,バージョン管理システムの svn をインストールする
あと、cmakeがインストールされているか確認する
$ sudo apt-get install apache2-utils apache2.2-bin apache2.2-common bsd-mailx exim4 exim4-base exim4-config \ exim4-daemon-light libapache2-svn libaprutil1-dbd-sqlite3 libaprutil1-ldap libconfig-inifiles-perl libsvn-perl \ python-subversion subversion-tools \ cmake cmake-data libxmlrpc-core-c3-0
OpenCVの最新版を確認する(作成時点では2.2.9が最新)
必要なファイルの作成とそこへの移動
$ mkdir ~/Downloads/openCV-2-svn.build $ cd Downloads/openCV-2-svn.build/
ダウンロード
- branches
$ svn checkout https://code.ros.org/svn/opencv/branches/2.2/
- trunk
$ svn checkout https://code.ros.org/svn/opencv/trunk/
ここから先は trunk で進める
OpenCVのインストール
- cmakeの実行
$ mkdir ~/Downloads/openCV-2-svn.build/trunk/opencv/release/ $ cd ~/Downloads/openCV-2-svn.build/trunk/opencv/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_XINE=ON -D WITH_UNICAP=ON -D WITH_OPENEXR=ON ../
- cmakeの結果確認
-- Extracting svn version, please wait... -- SVNVERSION: svn:5113 -- Detected version of GNU GCC: 45 (405) -- checking for module 'gtk+-2.0' -- package 'gtk+-2.0' not found -- checking for module 'libucil' -- package 'libucil' not found -- Found OpenEXR: /usr/local/lib/libIlmImf.so -- Could NOT find PythonLibs (missing: PYTHON_INCLUDE_DIRS) -- Use INCLUDE: /usr/lib/pymodules/python2.7/numpy/core/include Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named sphinx -- TBB detected: -- Parsing 'cvconfig.h.cmake' -- PDF LaTeX found! -- -- General configuration for opencv 2.2.9 ===================================== -- -- Built as dynamic libs?: ON -- Compiler: -- C++ flags (Release): -Wall -pthread -march=i686 -ffunction-sections -O3 -DNDEBUG -fomit-frame-pointer -O3 -ffast-math -msse -msse2 -mfpmath=387 -DNDEBUG -- C++ flags (Debug): -Wall -pthread -march=i686 -ffunction-sections -g -O0 -ggdb3 -DDEBUG -D_DEBUG -- Linker flags (Release): -- Linker flags (Debug): -- -- GUI: -- QT 4.x: 1 -- QT OpenGL support: 1 -- -- Media I/O: -- ZLib: TRUE -- JPEG: TRUE -- PNG: TRUE -- TIFF: TRUE -- JPEG 2000: TRUE -- OpenEXR: YES -- OpenNI: FALSE -- -- Video I/O: -- DC1394 1.x: -- DC1394 2.x: 1 -- FFMPEG: 1 -- codec: 1 -- format: 1 -- util: 1 -- swscale: 1 -- gentoo-style: 1 -- GStreamer: 1 -- UniCap: -- PvAPI: -- V4L/V4L2: Using libv4l -- Xine: 1 -- -- Interfaces: -- Python: ON -- Python interpreter: /usr/bin/python2.7 -- Python numpy: YES -- Use IPP: NO -- Use TBB: YES -- Use Cuda: NO -- Use Eigen2: YES -- -- Documentation: -- Build Documentation: NO -- -- Install path: /usr/local -- -- cvconfig.h is in: /home/kato/Downloads/opencv/trunk.git/opencv/release -- ----------------------------------------------------------------- -- -- Configuring done -- Generating done -- Build files have been written to: /home/kato/Downloads/opencv/trunk.git/opencv/release
インストール
$ make -j2; sudo make install;sudo ldconfig
詳細
最新版HTML
svn(Ubuntu 10.10)
2.2の(svnじゃない)インストール方法
2.1のインストール方法
libwebcam
概要
- LogitechのQuickCam Teamに詳細がある.
USBカメラのパラメータを変更するライブラリ - LogicoolのUSBカメラなら適応可能?
- LinuxだとvideoInputLibsが使用できないのでこちらを使用します.
端末入力はこの色
端末出力はこの色
インストール環境について
これ以外の環境では未確認です.
$ uname -v
#62-Ubuntu SMP Wed Apr 20 22:10:33 UTC 2011
#42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011
$ uname -r
2.6.32-32-generic
2.6.38-8-generic
以下はカーネル2.6.38を前提として話を進めるので, それ以外の人は適宜読み替えてください.
インストール手順
webcam-tools をチェックアウトする.
svnのインストールについては省略.
$ cd ~Downloads/ $ mkdir webcam $ cd webcam/ $ svn checkout http://svn.quickcamteam.net/svn/qct/webcam-tools/trunk
uvcvideo.h
uvcvideo.hを以下に置く
/usr/src/linux-headers-2.6.38-8/drivers/media/video/uvc/
/usr/include/linux/
$ uname -r
2.6.38-8-generic
$ sudo apt-get install linux-source-2.6.38 $ mkdir trunk/build $ cd trunk/build
カーネルから引っ張ってくる
linux-sourceに含まれているuvcvideo.hをインストールする.
カーネルのバージョンに注意すること.
$ sudo apt-get install linux-source-2.6.38 $ tar jxvf /usr/src/linux-source-2.6.38/linux-source-2.6.38.tar.bz2 $ cp linux-source-2.6.38/drivers/media/video/uvc/uvcvideo.h /usr/src/linux-headers-2.6.38-8/drivers/media/video/uvc/ $ rm -rf linux-source-2.6.38
ネットから引っ張ってくる
以下から直接 uvcvideo.h のソースを見つけることも可能
cmake
cmake とインストールを実行する.
$ cmake -D UVCVIDEO_INCLUDE_PATH=/usr/src/linux-headers-2.6.38-8/drivers/media/video/uvc/ -D CMAKE_INSTALL_PREFIX=/usr/local ../
[中略]
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kato/Downloads/webcam/trunk/build
$ make -j2
[中略]
[100%] Built target uvcdynctrl
$ sudo make install;sudo ldconfig
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib/libwebcam.so.0.2.1
-- Installing: /usr/local/lib/libwebcam.so
-- Installing: /usr/local/bin/uvcdynctrl
-- Installing: /usr/local/bin/uvcdynctrl-0.2.1
-- Removed runtime path from "/usr/local/bin/uvcdynctrl-0.2.1"
-- Installing: /etc/udev/rules.d
-- Installing: /etc/udev/rules.d/80-uvcdynctrl.rules
-- Installing: /lib/udev/uvcdynctrl
-- Installing: /etc/udev/data
-- Installing: /etc/udev/data/046d
-- Installing: /etc/udev/data/046d/logitech.xml
$ sudo cp ../common/include/dynctrl-logitech.h ../common/include/webcam.h /usr/include/
test
用意されたテストプログラムを実行し,インストールされたか確認する.
$ cd ../libwebcam/ $ g++ -Wall -lwebcam -c test.c -o test.o;g++ -Wall -O2 -lwebcam -o test test.o $ ./test
Testing libwebcam ...
-- 省略 --
Done.
Current brightness = 127
Successfully set brightness to = 0
Successfully set brightness to = 255
Successfully set brightness to = 127
Error text for error 0: 'Success'
Error text for error 9: 'Error during data synchronization'
ERROR: Unable to get the text for error 123
Adding control mappings ...
Control mappings successfully added (6 controls, 0 messages).
Exiting.
詳細
bundler
概要
- 同じ場所で撮影されたさまざまな画像から
三次元再構成を行うソフト - 詳しくはBundlerのサイトで
インストール手順
端末入力はこの色
端末出力はこの色
$ cd Downloads $ mkdir bundler.build $ cd bundler.build/ $ wget http://phototour.cs.washington.edu/bundler/distr/bundler-v0.4-source.tar.gz $ tar zxvf ../bundler-v0.4-source.tar.gz
$ cd bundler-v0.4-source/ $ pwd
/home/kato/Downloads/bundler.build/bundler-v0.4-source
$ sudo apt-get install imagemagick
$ cd ../
$ wget http://www.cs.ubc.ca/~lowe/keypoints/siftDemoV4.zip $ unzip siftDemoV4.zip $ cp ./siftDemoV4/sift /home/kato/Downloads/bundler.build/bundler-v0.4-source/bin
$ sudo apt-get install gfortran liblapack3gf liblapack-dev $ cd bundler-v0.4-source/ $ make
- .bashrc最下部に以下の二行を追加
# for bundler
export LD_LIBRARY_PATH=/home/kato/Downloads/bundler.build/bundler-v0.4-source/lib
$ cd $ source .bashrc