金子邦彦研究室プログラミングOctave の活用Linux で Octave bindings for OpenCV バージョン 031808 のビルドとインストール

Linux で Octave bindings for OpenCV バージョン 031808 のビルドとインストール

Octave とは,MATLAB に互換の数値解析ソフトウェア.

OpenCV (Open Computer Vision Library) とは, コンピュータビジョン,画像処理,機械学習等のアルゴリズムが実装されたライブラリ・プログラムです.

このページでは, Linux で,どうしても古いバージョンの Octave bindings for OpenCV を使いたい場合 に役立つように, ビルドとインストールの手順図解などで説明する.

最新のバージョンを使いたい場合には別の Web ページを見てください

前準備

前提ソフトウェアのインストール

yum install libjpeg*
yum install zlib*
yum install libpng*
yum install jasper*
# 4 エル 2
yum install v4l2*

SWIG のインストールの手順

最初に SWIG のインストールを行う.

  1. 「yum install swig*」の実行
  2. 該当するパッケージが表示されるので確認

    「y」+「Enter」でインストール開始

    [image]

Octave bindings for OpenCV のビルドとインストールの手順

最新のバージョンを使いたい場合には別の Web ページを見てください

  1. ダウンロード用の Web ページを開く

    http://sourceforge.jp/projects/sfnet_octave-swig/releases/

  2. ファイルのダウンロード

    octave-opencv-031808b.tar.gz をクリックしてダウンロードする.

    [image]
  3. ダウンロードしたファイルは /tmp に置く
  4. 解凍
    cd /tmp
    octave-opencv-031808b.tar.gz
    

    [image]
  5. configure の実行

    「-I/usr/include/octave-3.0.5」の部分は適切に調整してください.

    ■ Octave 3.0.5 の場合

    cd octave-opencv-031808
    CFLAGS="-fPIC -I/usr/include/octave-3.0.5" ./configure --with-swig --with-octave --without-python --without-ffmpeg
    

    Octave 3.2.3 を自前でビルドした場合

    cd octave-opencv-031808
    CFLAGS="-fPIC -I/usr/local/include/octave-3.2.3" ./configure --with-swig --with-octave --without-python --without-ffmpeg
    
  6. configure の結果の確認

    [image]
  7. cxcore/include/cxmisc.h の書き換え

    136 行目付近に,

    #elif
        #error
    

    という部分があるので,この2行を削除する

    [image]
  8. make の実行

    ■ Octave 3.0.5 の場合

    make CXX="g++ -fPIC -I/usr/include/octave-3.0.5"
    

    [image]

    Octave 3.2.3 を自前でビルドした場合

    make CXX="g++ -fPIC -I/usr/local/include/octave-3.2.3"
    
  9. make の結果の確認

    [image]
  10. make install の実行
    make install
    

    [image]
  11. make install の結果の確認

    [image]
  12. octave を起動し,パッケージのインストール
    octave
    pkg install -global /usr/local/share/opencv/opencv-1.0.tar.gz
    

    [image]

動作確認 

img = cvLoadImage("lena_std.jpg");
cvSaveImage("lena_std.png", img);

[image]