| [サイトマップへ] | n
OpenCV (Open Computer Vision Library) とは, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
この Web ページでは,Linux (Ubuntu) での OpenCV バージョン 2.4.5のビルドとインストール手順を図解等で説明します.
この Web ページでは、以下,次の2通りの手順について説明しています
末尾にはサンプルプログラムのソースコードと動作手順も付けています。
Ubuntu での Intel TBB (Intel Threading Building Blocks) インストール手順は, 別の Web ページで説明しています.
※ 参考 Web ページ: http://opencv.jp/
楽をしたいのでシェルスクリプトを作りました。 Ubuntu で下記のシェルスクリプトを実行すると、 OpenCV バージョン 2.4.5 のダウンロードとビルドとインストールが行われます. Ubuntu 12.04 を用いて動作確認済みです.
※ 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明しています。
# 最初は前提ソフトウエアのインストール sudo apt-get -yV install build-essential # cd /tmp; sudo apt-get source opencv sudo apt-get -yV build-dep opencv # sudo apt-get -yV install opencl-headers # sudo apt-get -yV install libjpeg-dev sudo apt-get -yV install libopenjpeg-dev sudo apt-get -yV install jasper sudo apt-get -yV install libjasper-dev libjasper-runtime sudo apt-get -yV install libpng12-dev sudo apt-get -yV install libpng++-dev libpng3 sudo apt-get -yV install libpnglite-dev libpngwriter0-dev libpngwriter0c2 sudo apt-get -yV install libtiff-dev libtiff-tools pngtools sudo apt-get -yV install zlib1g-dev zlib1g-dbg sudo apt-get -yV install v4l2ucp # sudo apt-get -yV install python 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 openexr sudo apt-get -yV install gstreamer-plugins-* sudo apt-get -yV install freeglut3-dev sudo apt-get -yV install libglui-dev sudo apt-get -yV install libavc1394-dev libdc1394-22-dev libdc1394-utils # ビデオ関係のパッケージ sudo apt-get -yV install libxine-dev sudo apt-get -yV install libxvidcore-dev sudo apt-get -yV install libva-dev sudo apt-get -yV install libssl-dev sudo apt-get -yV install libv4l-dev sudo apt-get -yV install libvo-aacenc-dev sudo apt-get -yV install libvo-amrwbenc-dev sudo apt-get -yV install libvorbis-dev sudo apt-get -yV install libvpx-dev cd /tmp # if [ ! -f OpenCV-2.4.5.tar.bz2 ]; then # wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.5/OpenCV-2.4.5.tar.bz2 # fi wget https://github.com/Itseez/opencv/archive/2.4.5.tar.gz mv 2.4.5.tar.gz OpenCV-2.4.5.tar.gz sudo rm -rf OpenCV-2.4.5 tar -xvzof /tmp/OpenCV-2.4.5.tar.gz cd opencv-2.4.5 cmake -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_OPENCL=OFF -DWITH_CUDA=OFF -DWITH_OPENNI=ON -DWITH_UNICAP=ON -DWITH_V4L=ON -DWITH_XINE=ON -DWITH_OPENEXR=ON -DBUILD_OPENEXR=ON . make sudo make install sudo ldconfig
OpenCV のサンプルプログラムは、このWebページの末尾につけています.
■ Ubuntu 12.04 の場合の操作手順(例)
Ubuntu の他のバージョンでも同様の手順になります
sudo apt-get -yV update sudo apt-get -yV upgrade sudo reboot
「apt-get build-dep」を使うと簡単.
sudo apt-get -yV install build-essential # cd /tmp; sudo apt-get source opencv sudo apt-get -yV build-dep opencv # sudo apt-get -yV install opencl-headers # sudo apt-get -yV install libjpeg-dev sudo apt-get -yV install libopenjpeg-dev sudo apt-get -yV install jasper sudo apt-get -yV install libjasper-dev libjasper-runtime sudo apt-get -yV install libpng12-dev sudo apt-get -yV install libpng++-dev libpng3 sudo apt-get -yV install libpnglite-dev libpngwriter0-dev libpngwriter0c2 sudo apt-get -yV install libtiff-dev libtiff-tools pngtools sudo apt-get -yV install zlib1g-dev zlib1g-dbg sudo apt-get -yV install v4l2ucp # sudo apt-get -yV install python 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 openexr sudo apt-get -yV install gstreamer-plugins-* sudo apt-get -yV install freeglut3-dev sudo apt-get -yV install libglui-dev sudo apt-get -yV install libavc1394-dev libdc1394-22-dev libdc1394-utils # ビデオ関係のパッケージ sudo apt-get -yV install libxine-dev sudo apt-get -yV install libxvidcore-dev sudo apt-get -yV install libva-dev sudo apt-get -yV install libssl-dev sudo apt-get -yV install libv4l-dev sudo apt-get -yV install libvo-aacenc-dev sudo apt-get -yV install libvo-amrwbenc-dev sudo apt-get -yV install libvorbis-dev sudo apt-get -yV install libvpx-dev
■ 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
http://sourceforge.net/projects/opencvlibrary/
以下の操作はコンソールで行う(以下、画面キャプチャは Ubuntu 12.04 のもの)
※ ダウンロードしたファイルを /tmp に置いている
cd /tmp tar -xvzof /tmp/opencv-2.4.5.tar.gz
◆実行例
cd opencv-2.4.5 cmake -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_OPENCL=OFF -DWITH_CUDA=OFF -DWITH_OPENNI=ON -DWITH_UNICAP=ON -DWITH_V4L=ON -DWITH_XINE=ON .
※ バージョン 2.4.4 では-DBUILD_opencv_java=OFFをつける.エラーの回避のため(環境によって、エラーが出ない場合もあると思います)。
make
エラーメッセージが出ていないこと
※ make のときにエラーが出たら 「cmake .」のところに戻って cmake のパラメータを調整して、もう1度繰り返す。
sudo make install
※ エラーメッセージが出ていないこと
◆プログラムの例
#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/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_core
◆ 実行結果の例 (OpenCV バージョン 2.4.5 で実行)
./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/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_imgproc -lopencv_core
◆ 実行結果の例 (OpenCV バージョン 2.4.5 で実行)
./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 color image */ 1 );
cvtColor(rgb, hsv, CV_BGR2HSV);
morphologyEx(hsv, hsv2, MORPH_OPEN, getStructuringElement(MORPH_ELLIPSE, Size(1, 1) ) ) ;
morphologyEx(hsv2, hsv3, MORPH_CLOSE, getStructuringElement(MORPH_ELLIPSE, Size(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/opencv2 -I/usr/local/include/opencv -L/usr/local/lib -lopencv_highgui -lopencv_imgproc -lopencv_core
◆ 実行結果の例 (OpenCV バージョン 2.4.5 で実行)
./a.out