トップページ -> コンピュータ実習 -> OpenCV の使用法 -> Linux で OpenCV バージョン 2.3.1a のダウンロードとビルドとインストールとテスト実行
[サイトマップへ]  

Linux で OpenCV バージョン 2.3.1a のダウンロードとビルドとインストールとテスト実行

サイト構成 連絡先,業績など コンピュータ実習 データの扱い コンピュータ設定 教材(公開) サポートページ

OpenCV (Open Computer Vision Library) とは, 実時間コンピュータビジョン (real time computer vision) の アルゴリズムと文書とサンプルコードの集まり.

この Web ページでは,Linux (Ubuntu や Fedora 15) での OpenCV バージョン 2.3.1 のビルドとインストール手順を図解等で説明する.

この Web ページでは、以下,次の2通りの手順について説明している

末尾にはサンプルプログラムのソースコードと動作手順も付けています。

※ 参考 Web ページ: http://opencv.jp/


Ubuntu で OpenCV バージョン 2.3.1a のダウンロードとビルドとインストールを行うシェルスクリプト

楽をしたいのでシェルスクリプトを作りました。 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

Linux で, コマンドを手入力して,OpenCV バージョン 2.3.1a のソースコードのダウンロードとビルドとインストールを行う場合の手順 (Ubuntu や Fedora を使用)

前準備

Ubuntu 11.04 の場合の操作手順(例)

Ubuntu の他のバージョンでも同様の手順になります(画面キャプチャは Ubuntu 11.04 のもの)

  1. アップデート操作

    sudo apt-get -yV install update
    sudo apt-get -yV install upgrade
    sudo reboot
    

  2. ビルドに必要となる前提ソフトウエアのインストール 

    「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 の場合の操作手順(例)

  1. アップデート操作

    sudo yum check-update
    sudo yum update
    sudo reboot
    

  2. ビルドに必要となる前提ソフトウエアのインストール 

    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
    

OpenCV のダウンロードとビルトとインストール手順

  1. Web ページを開く

    http://sourceforge.net/projects/opencvlibrary/

  2. Files」をクリック

  3. ソースコードが欲しいので「OpenCV-2.3.1a.tar.bz2」をクリック

  4. ダウンロードしたファイルを /tmp に置く

  5. 展開

    以下の操作はコンソールで行う

    cd /tmp
    tar -xvjof /tmp/OpenCV-2.3.1a.tar.bz2
    

  6. 「cmake .」の実行

    ◆実行例

    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 .
    

  7. cmake . の結果の確認

  8. make の実行

    make
    

  9. make の結果の確認

    エラーメッセージが出ていないこと

    make のときにエラーが出たら 「cmake .」のところに戻って cmake のパラメータを調整して、もう1度繰り返す。

  10. make install の実行

    sudo make install
    

  11. make install の結果の確認

    ※ エラーメッセージが出ていないこと

  12. (オプション) サンプルのコピー(例)

    cd samples
    tar -cvpf /tmp/c.tar ./c
    cd /usr/local/share/opencv/samples
    sudo tar -xvpf /tmp/c.tar
    

試しに OpenCV を使ってみる

画像ファイルの読み込みと表示

◆プログラムの例

#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

Opening と Closing によるノイズ除去

◆プログラムの例

#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