| [サイトマップへ] |
OpenCV (Open Computer Vision Library) とは, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
この Web ページでは,Linux (Ubuntu や Fedora 15) での OpenCV バージョン 2.3.1 のビルドとインストール手順を図解等で説明します.
この Web ページでは、以下,次の2通りの手順について説明しています
末尾にはサンプルプログラムのソースコードと動作手順も付けています。
※ 参考 Web ページ: http://opencv.jp/
楽をしたいのでシェルスクリプトを作りました。 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明しています。
sudo apt-get -yV install build-essential
sudo apt-get -yV install gcc-4.4
sudo apt-get -yV install g++-4.4
sudo apt-get -yV build-essentials
cd /tmp; sudo apt-get source libcv2.1
sudo apt-get -yV build-dep libcv2.1
cd /tmp; sudo apt-get source libcvaux2.1
sudo apt-get -yV build-dep libcvaux2.1
cd /tmp; sudo apt-get source libhighgui2.1
sudo apt-get -yV build-dep libhighgui2.1
cd /tmp
if [ ! -f OpenCV-2.3.1.tar.bz2 ]; then
wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.3.1/OpenCV-2.3.1a.tar.bz2
fi
sudo rm -rf OpenCV-2.3.1
tar -xvjof /tmp/OpenCV-2.3.1a.tar.bz2
cd OpenCV-2.3.1
cmake -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_PYTHON_SUPPORT=ON -DENABLE_OPENMP=ON -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_CUDA=OFF .
make
sudo make install
cd samples
tar -cvpf /tmp/c.tar ./c
cd /usr/local/share/opencv/samples
sudo tar -xvpf /tmp/c.tar
■ Ubuntu 11.04 の場合の操作手順(例)
Ubuntu の他のバージョンでも同様の手順になります(画面キャプチャは Ubuntu 11.04 のもの)
sudo apt-get -yV install update sudo apt-get -yV install upgrade sudo reboot
「apt-get build-dep」を使うと簡単.
sudo apt-get -yV install build-essential sudo apt-get -yV install gcc-4.4 sudo apt-get -yV install g++-4.4 cd /tmp; sudo apt-get source libcv2.1 sudo apt-get -yV build-dep libcv2.1 cd /tmp; sudo apt-get source libcvaux2.1 sudo apt-get -yV build-dep libcvaux2.1 cd /tmp; sudo apt-get source libhighgui2.1 sudo apt-get -yV build-dep libhighgui2.1 sudo apt-get -yV install python sudo apt-get -yV install libjpeg-dev sudo apt-get -yV install libtiff-dev sudo apt-get -yV install jasper sudo apt-get -yV install libjasper-dev sudo apt-get -yV install libpng-dev sudo apt-get -yV install zlib1g-dev sudo apt-get -yV install v4l2ucp sudo apt-get -yV install totem sudo apt-get -yV install libunicapgtk2 sudo apt-get -yV install libunicapgtk2-dev sudo apt-get -yV install libunicap2 sudo apt-get -yV install autoconf sudo apt-get -yV install libtbb2 libtbb-dev sudo apt-get -yV install libeigen2-dev sudo apt-get -yV install cmake sudo apt-get -yV install ffmpeg sudo apt-get -yV install openexr sudo apt-get -yV install gstreamer-plugins-* # ビデオ関係のパッケージ sudo apt-get -yV install libxine-dev sudo apt-get -yV install libunicap2-dev sudo apt-get -yV install libv4l-dev sudo apt-get -yV install libavc1394-dev libdc1394-22-dev # swig cd /tmp wget http://sourceforge.net/projects/swig/files/swig/swig-2.0.4/swig-2.0.4.tar.gz tar -xvzof swig-2.0.4.tar.gz cd swig-2.0.4 ./configure make sudo make install
■ Fedora 15 の場合の操作手順(例)
sudo yum check-update sudo yum update sudo reboot
python, gtk+ などのインストールを行う
yum install gcc yum install g++ yum install python yum install gtk+-devel yum install libjpeg-devel yum install libtiff-devel yum install jasper-devel yum install libpng-devel yum install zlib-devel # 4 エル 2 yum install v4l2* yum install totem yum install xine yum install unicap-devel yum install autoconf # swig cd /tmp wget http://sourceforge.net/projects/swig/files/swig/swig-2.0.4/swig-2.0.4.tar.gz tar -xvzof swig-2.0.4.tar.gz cd swig-2.0.4 ./configure make make install
http://sourceforge.net/projects/opencvlibrary/
以下の操作はコンソールで行う
cd /tmp tar -xvjof /tmp/OpenCV-2.3.1a.tar.bz2
◆実行例
cd OpenCV-2.3.1 cmake -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DBUILD_PYTHON_SUPPORT=ON -DENABLE_OPENMP=ON -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_CUDA=OFF .
make
エラーメッセージが出ていないこと
make のときにエラーが出たら 「cmake .」のところに戻って cmake のパラメータを調整して、もう1度繰り返す。
sudo make install
※ エラーメッセージが出ていないこと
cd samples tar -cvpf /tmp/c.tar ./c cd /usr/local/share/opencv/samples sudo tar -xvpf /tmp/c.tar
◆プログラムの例
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
Mat rgb;
rgb = imread( "/usr/local/share/opencv/samples/c/fruits.jpg", /* 3-channel color image */ 1 );
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE | CV_WINDOW_FREERATIO );
imshow( "Display Image", rgb );
waitKey(0);
return 0;
}
◆コンパイルコマンドの例
Linux の場合を示しています.
g++ -o a.out hoge.cc -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_core
◆ 実行結果の例
./a.out
◆プログラムの例
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
Mat rgb, gray;
rgb = imread( "/usr/local/share/opencv/samples/c/fruits.jpg", /* 3-channel color image */ 1 );
cvtColor(rgb, gray, CV_BGR2GRAY);
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE | CV_WINDOW_FREERATIO );
imshow( "Display Image", gray );
waitKey(0);
return 0;
}
◆コンパイルコマンドの例
Linux の場合を示しています.
g++ -o a.out hoge.cc -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_core
◆ 実行結果の例
./a.out
◆プログラムの例
#include <cv.h>
#include <highgui.h>
using namespace cv;
int main( int argc, char** argv )
{
Mat rgb, hsv, hsv2, hsv3, rgb3;
rgb = imread( "/usr/local/share/opencv/samples/c/fruits.jpg", /* 3-channel co\
lor image */ 1 );
cvtColor(rgb, hsv, CV_BGR2HSV);
morphologyEx(hsv, hsv2, MORPH_OPEN, getStructuringElement(MORPH_ELLIPSE, Siz\
e(1, 1) ) ) ;
morphologyEx(hsv2, hsv3, MORPH_CLOSE, getStructuringElement(MORPH_ELLIPSE, S\
ize(1, 1) ) ) ;
cvtColor(hsv3, rgb3, CV_HSV2BGR);
namedWindow( "Display Image", CV_WINDOW_AUTOSIZE | CV_WINDOW_FREERATIO );
imshow( "Display Image", rgb3 );
waitKey(0);
return 0;
}
◆コンパイルコマンドの例
Linux の場合を示しています.
g++ -o a.out hoge.cc -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_core
◆ 実行結果の例
./a.out