Linux で OpenCV バージョン 2.4.7 のダウンロードとビルドとインストールとテスト実行
OpenCV (Open Computer Vision Library) とは, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.
この Web ページでは,Linux (Ubuntu) での OpenCV バージョン 2.4.7のビルドとインストール手順を図解等で説明します.
この Web ページでは、以下,次の2通りの手順について説明しています
- Ubuntu で OpenCV バージョン 2.4.7 のダウンロードとビルドとインストールを行うシェルスクリプト
- Linux で, コマンドを手入力して,OpenCV バージョン 2.4.7 のソースコードのダウンロードとビルドとインストールを行う場合の手順 (Ubuntu を使用)
→ 他の Linux でも同様の手順になると思います.
末尾にはサンプルプログラムのソースコードと動作手順も付けています。
Ubuntu での Intel TBB (Intel Threading Building Blocks) インストール手順は, 別の Web ページで説明しています.
※ 参考 Web ページ: http://opencv.jp/
Ubuntu で OpenCV バージョン 2.4.7 のダウンロードとビルドとインストールを行うシェルスクリプト
楽をしたいのでシェルスクリプトを作りました。 Ubuntu で下記のシェルスクリプトを実行すると、 OpenCV バージョン 2.4.7 のダウンロードとビルドとインストールが行われます. 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 libqt4-dev sudo apt-get -yV install libgtk2.0-dev sudo apt-get -yV install pkg-config # sudo apt-get -yV install opencl-headers # sudo apt-get -yV install libgomp1 # 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.7.tar.bz2 ]; then # wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.7/OpenCV-2.4.7.tar.bz2 # fi wget https://github.com/Itseez/opencv/archive/2.4.7.tar.gz mv 2.4.7.tar.gz OpenCV-2.4.7.tar.gz sudo rm -rf OpenCV-2.4.7 tar -xvzof /tmp/OpenCV-2.4.7.tar.gz cd opencv-2.4.7 cmake -DBUILD_SHARED_LIBS=OFF -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DWITH_GTK=ON -DWITH_OPENGL=ON -DWITH_QT=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ページの末尾につけています.
Linux で, コマンドを手入力して,OpenCV バージョン 2.4.7 のソースコードのダウンロードとビルドとインストールを行う場合の手順 (Ubuntu や Fedora を使用)
前準備
■ 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 libqt4-dev sudo apt-get -yV install libgtk2.0-dev sudo apt-get -yV install pkg-config # 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
- ビルドに必要となる前提ソフトウエアのインストール ppython, 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
OpenCV のダウンロードとビルトとインストール手順
- Web ページを開く
- 「Files」をクリック
- 「opencv-unix」をクリック
- 最新版である「2.4.7」をクリック
- opencv-2.4.7.tar.gz をクリックして、ダウンロード。
- ダウンロードと展開以下の操作はコンソールで行う(以下、画面キャプチャは Ubuntu 12.04 のもの)※ ダウンロードしたファイルを /tmp に置いている
cd /tmp tar -xvzof /tmp/opencv-2.4.7.tar.gz
- (オプション) 「ccmake .」を実行して,設定を確認する
- 「cmake .」の実行◆実行例参考 Web ページ: 「-DBUILD_SHARED_LIBS=OFF」については、http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html
cd opencv-2.4.7 cmake -DBUILD_DOCS=ON -DBUILD_EXAMPLES=ON -DCMAKE_BUILD_TYPE=RELEASE -DWITH_TBB=ON -DWITH_GTK=ON -DWITH_OPENGL=ON -DWITH_QT=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をつける.エラーの回避のため(環境によって、エラーが出ない場合もあると思います)。 - cmake . の結果の確認
- make の実行
make
- make の結果の確認エラーメッセージが出ていないこと※ make のときにエラーが出たら 「cmake .」のところに戻って cmake のパラメータを調整して、もう1度繰り返す。
- sudo make install の実行
sudo make install
- sudo make install の結果の確認※ エラーメッセージが出ていないこと
- sudo ldconfig の実行
試しに OpenCV を使ってみる
画像ファイルの読み込みと表示
◆プログラムの例
- imread: 画像ファイルの読み込み
- namedWindow: ウインドウを開く
- imshow: ウインドウに画像を表示
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
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.6.1 で実行)
./a.out
カラー画像の濃淡画像への変換
◆プログラムの例
- cvtColor: 色空間における変換
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
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.6.1 で実行)
./a.out
Opening と Closing によるノイズ除去
◆プログラムの例
- morphologyEx: 構造要素を用いたモルフォロジー演算
#include <opencv2/core/core.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/highgui/highgui.hpp>
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.6.1 で実行)
./a.out
번역
댓글 없음:
댓글 쓰기