Linux で OpenCV バージョン 2.4.3 のインストール(ソースコードを使用)とテスト実行
OpenCV (Open Computer Vision Library) は, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
このページでは,Linux (Ubuntu や Fedora 15) での OpenCV バージョン 2.4.3のビルドとインストール手順を図解等で説明する.
このページでは、以下,次の2通りの手順について説明している.
- Ubuntu で OpenCV バージョン 2.4.3 のインストール(ソースコードを使用)を行うシェルスクリプト
- Linux で, コマンドを手入力して,OpenCV バージョン 2.4.3 のソースコードのインストール(ソースコードを使用)を行う場合の手順 (Ubuntu や Fedora を使用)
→ 他の Linux でも同様の手順になると思います.
末尾にはサンプルプログラムのソースコードと動作手順も付けています。
Ubuntu での Intel TBB (Intel Threading Building Blocks) インストール手順は, 別の Web ページで説明している.
* 参考 Web ページ: https://opencv.org
Ubuntu で OpenCV バージョン 2.4.3 のインストール(ソースコードを使用)を行うシェルスクリプト
楽をしたいのでシェルスクリプトを作りました。 Ubuntu で下記のシェルスクリプトを実行すると、 OpenCV バージョン 2.4.3 のインストール(ソースコードを使用)が行われます. Ubuntu 12.04 を用いて動作確認済みです.
* OpenCV バージョン 2.3.1a のインストール(ソースコードを使用)の手順については、別の Web ページで説明している.
* 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明している.
# 最初は前提ソフトウェアのインストール
sudo apt -y install build-essential
#
cd /tmp; sudo apt-get source opencv
sudo apt-get -yV build-dep opencv
#
sudo apt -y install libjpeg-dev
sudo apt -y install libopenjpeg-dev
sudo apt -y install jasper
sudo apt -y install libjasper-dev libjasper-runtime
sudo apt -y install libpng12-dev
sudo apt -y install libpng++-dev libpng3
sudo apt -y install libpnglite-dev libpngwriter0-dev libpngwriter0c2
sudo apt -y install libtiff-dev libtiff-tools pngtools
sudo apt -y install zlib1g-dev zlib1g-dbg
sudo apt -y install v4l2ucp
#
sudo apt -y install python
sudo apt -y install autoconf
sudo apt -y install libtbb2 libtbb-dev
sudo apt -y install libeigen2-dev
sudo apt -y install cmake
sudo apt -y install openexr
sudo apt -y install gstreamer-plugins-*
sudo apt -y install freeglut3-dev
sudo apt -y install libglui-dev
sudo apt -y install libavc1394-dev libdc1394-22-dev libdc1394-utils
# ビデオ関係のパッケージ
sudo apt -y install libxine-dev
sudo apt -y install libxvidcore-dev
sudo apt -y install libva-dev
sudo apt -y install libssl-dev
sudo apt -y install libv4l-dev
sudo apt -y install libvo-aacenc-dev
sudo apt -y install libvo-amrwbenc-dev
sudo apt -y install libvorbis-dev
sudo apt -y install libvpx-dev
cd /tmp
if [ ! -f OpenCV-2.4.3.tar.bz2 ]; then
wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.3/OpenCV-2.4.3.tar.bz2
fi
sudo rm -rf OpenCV-2.4.3
tar -xvjof /tmp/OpenCV-2.4.3.tar.bz2
cd OpenCV-2.4.3
cmake -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_CUDA=OFF -DWITH_OPENNI=ON -DWITH_UNICAP=ON -DWITH_V4L=ON -DWITH_XINE=ON .
make
sudo make install
sudo /sbin/ldconfig
OpenCV のサンプルプログラムは、このWebページの末尾につけています.
Linux で, コマンドを手入力して,OpenCV バージョン 2.4.3のソースコードのインストール(ソースコードを使用)を行う場合の手順 (Ubuntu や Fedora を使用)
前準備
* Ubuntu 12.04 の場合の操作手順(例)
Ubuntu の他のバージョンでも同様の手順になります
- アップデート操作
sudo apt-get -yV update sudo apt-get -yV upgrade sudo reboot
- ビルドに必要となる前提ソフトウェアのインストール
「apt-get build-dep」を使うと簡単.
sudo apt -y update sudo apt -y install build-essential # cd /tmp; sudo apt-get source opencv sudo apt-get -yV build-dep opencv # sudo apt -y install libjpeg-dev sudo apt -y install libopenjpeg-dev sudo apt -y install jasper sudo apt -y install libjasper-dev libjasper-runtime sudo apt -y install libpng12-dev sudo apt -y install libpng++-dev libpng3 sudo apt -y install libpnglite-dev libpngwriter0-dev libpngwriter0c2 sudo apt -y install libtiff-dev libtiff-tools pngtools sudo apt -y install zlib1g-dev zlib1g-dbg sudo apt -y install v4l2ucp # sudo apt -y install python sudo apt -y install autoconf sudo apt -y install libtbb2 libtbb-dev sudo apt -y install libeigen2-dev sudo apt -y install cmake sudo apt -y install openexr sudo apt -y install gstreamer-plugins-* sudo apt -y install freeglut3-dev sudo apt -y install libglui-dev sudo apt -y install libavc1394-dev libdc1394-22-dev libdc1394-utils # ビデオ関係のパッケージ sudo apt -y install libxine-dev sudo apt -y install libxvidcore-dev sudo apt -y install libva-dev sudo apt -y install libssl-dev sudo apt -y install libv4l-dev sudo apt -y install libvo-aacenc-dev sudo apt -y install libvo-amrwbenc-dev sudo apt -y install libvorbis-dev sudo apt -y install libvpx-dev # swig cd /tmp wget http://sourceforge.net/projects/swig/files/swig/swig-2.0.6/swig-2.0.6.tar.gz tar -xvzof swig-2.0.6.tar.gz cd swig-2.0.6 ./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.6/swig-2.0.6.tar.gz tar -xvzof swig-2.0.6.tar.gz cd swig-2.0.6 ./configure make make install
OpenCV のダウンロードとビルトとインストール手順
- Web ページを開く
- 「Files」をクリック
- 「opencv-unix」をクリック
- 「2.4.3」をクリック
- ソースコードが欲しいので「OpenCV-2.4.3.tar.bz2」をクリック
- ダウンロードしたファイルを /tmp に置く
- 展開
以下の操作はコンソールで行う(以下、画面キャプチャは Ubuntu 12.04 のもの)
cd /tmp tar -xvjof /tmp/OpenCV-2.4.3.tar.bz2
- (オプション) 「ccmake .」を実行して,設定を確認する
- 「cmake .」の実行
◆実行例
cd OpenCV-2.4.3 cmake -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DINSTALL_C_EXAMPLES=ON -DWITH_CUDA=OFF -DWITH_OPENNI=ON -DWITH_UNICAP=ON -DWITH_V4L=ON -DWITH_XINE=ON .
- cmake . の結果の確認
- make の実行
make
- make の結果の確認
エラーメッセージが出ていないこと
make のときにエラーが出たら 「cmake .」のところに戻って cmake のパラメータを調整して、もう1度繰り返す。
- sudo make install の実行
sudo make install
- sudo make install の結果の確認
* エラーメッセージが出ていないこと
- sudo /sbin/ldconfig の実行
試しに OpenCV を使ってみる
画像ファイルの読み込みと表示
◆プログラムの例
- imread: 画像ファイルの読み込み
- namedWindow: ウインドウを開く
- imshow: ウインドウに画像を表示
#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.0 で実行)
./a.out
カラー画像の濃淡画像への変換
◆プログラムの例
- cvtColor: 色空間における変換
#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.0 で実行)
./a.out
Opening と Closing によるノイズ除去
◆プログラムの例
- morphologyEx: 構造要素を用いたモルフォロジー演算
#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.0 で実行)
./a.out