OpenCV 2.4.12.2 on Cygwin 2.2.1 environment

>> English page
>> version 3.0.0

下記の手順でビルドした 64bit Cygwin ライブラリ:
opencv-2.4.12.2-cygwin64-g++-4.9.3-shared-release-20150921.tar.bz2
(依存するライブラリ: libIlmImf7, libjasper1, libjpeg8, libpng16, libtiff6, liblzma5, libbz2_1, zlib0)

cv::getBuildInformation() の出力結果


1) 前準備 #1
Cygwinのsetup.exeで必要なパッケージをインストールしておく.
通常は,以下のものと,それらが依存するライブラリなどが必要でしょう.

 "unzip"
 "cmake"
 "gcc-g++"
 "make"
 "patch"
 "libIlmImf-devel"
 "libjasper-devel"
 "libjpeg-devel"
 "libpng-devel"
 "libtiff-devel"
 "libbz2-devel"
 "zlib-devel"


2) 前準備 #2 (推奨)
ffmpegをビルドする.

for example:

$ cd /tmp/
$ tar xvjf ffmpeg-2.8.tar.bz2
$ cd ffmpeg-2.8/
$ ./configure --disable-yasm --disable-iconv --enable-avresample
$ make -j 4


3) 前準備 #3 (OpenCVのviz moduleが不要ならばスキップして良い)
VTKをビルドする.具体的な手順はこちらの手順を参照.
作業ディレクトリ(例:/tmp/vtk_build/)をそのまま使えるので,VTKの"インストール"は必須ではない. その場合,VTKは"静的ライブラリ(static library)"としてビルドすることが推奨.


4) パッチ適用
opencv-2.4.12.2.tar.gzを入手し,私のCygwin用パッチを適用する.

for example:

$ cd /tmp/
$ tar xvzf opencv-2.4.12.2.tar.gz
$ gunzip opencv-2.4.12.2-cygwin-patch-20150921.txt.gz
$ cd opencv-2.4.12.2/
$ patch -p1 < ../opencv-2.4.12.2-cygwin-patch-20150921.txt


5) ビルド,インストール

for example:

$ mkdir build_shared_release/
$ cd build_shared_release/
$ cmake -Wno-dev \
        -D CMAKE_LEGACY_CYGWIN_WIN32=0 \
        -D CMAKE_BUILD_TYPE=RELEASE \
        -D BUILD_SHARED_LIBS:BOOL=TRUE \
        -D WITH_IPP:BOOL=FALSE \
        -D WITH_OPENMP:BOOL=TRUE \
        -D WITH_OPENGL:BOOL=TRUE \
        -D ENABLE_FAST_MATH:BOOL=TRUE \
        -D ENABLE_SSE:BOOL=TRUE \
        -D ENABLE_SSE2:BOOL=TRUE \
        -D ENABLE_AVX:BOOL=TRUE \
        -D ENABLE_AVX2:BOOL=TRUE \
        -D BUILD_TESTS:BOOL=FALSE \
        -D BUILD_PERF_TESTS:BOOL=FALSE \
        -D BUILD_EXAMPLES:BOOL=FALSE \
        -D CYGWIN_FFMPEG_BUILT_DIR=/tmp/ffmpeg-2.8/ \
        -D WITH_VTK:BOOL=TRUE \
        -D VTK_DIR=/tmp/vtk_static_release/ \
        -D CMAKE_INSTALL_PREFIX=/usr/local/opencv-2.4.12.2/ \
        /tmp/opencv-2.4.12.2/
$ make -j 4 install