概要

  • 2015-06-04(日本時間)にOpenCV 3.0.0 がようやく、やっと Releaseされた*1
  • Windows で OpenCV 3.0.0 をビルドする
  • ターゲットはWindows 7 (64bit)
  • CMake のバージョンは3.0.1
  • Visual Studio 2012 でビルド
  • CUDA は5.5
  • Gitでソースコードを取ってくる

ソースコードのダウンロード

  • git でリポジトリをクローンしてくる。URL は git://code.opencv.org/opencv.git
    git.exe clone --progress -v "git://code.opencv.org/opencv.git" "D:\OpenCV300"
    OpenCV300_000_clone.png
  • リポジトリがcloneされるのを待つ
    OpenCV300_001_clone.png
  • 今回は542431msかかった
    OpenCV300_002_cloneDone.png
  • 取得したリポジトリから、ブランチの3.0.0にスイッチする
  • 今回はWindowsのTortoiseGitを使ったので、添付図の様に、TortoiseGit→Switch/Checkoutを選択
    switch_checkout_git.png
  • Switch To で Branch の横の参照ボタンをクリックし、Browse references を表示する
    branch_select.png
  • tags から、3.0.0を選択
    OpenCV300_003_tags.png
  • Switchされるのを待つ(172ms)
    OpenCV300_004_switch.png

ビルド前準備

  • cmakeでソリューションファイルを作成する
  • cmake(GUI版を起動する)
  • Sourceの場所を指定する
    • 今回はD:\OpenCV300
  • Buildの場所を指定する
    • 今回は D:\OpenCV300\build を指定する。
  • Configureボタンを押す
    OpenCV300_005_cmakeConfigure.png
  • D:\OpenCV300\build が無いと文句を言われるので、ディレクトリの作成に同意する
    OpenCV300_006_makeBuild.png
  • コンパイラのバージョンを聞かれるので、Visual Studio 2012を指定する
    • 違うコンパイラを指定する場合はここでターゲットを変更する
    • Visual Studio 2012 は VS11なので注意
      OpenCV300_007_compilerChoice.png
  • Configureボタンを押す
  • ガリガリCMakeが動いて、オプション一覧及び有効/無効が表示される
    OpenCV300_008_configureDone.png

GPUのアーキテクチャを指定する

OpenCVのサンプル群

  • 今回はOpenCVのサンプルを試すためにも、Cのサンプル群もインストールする
  • INSTALL_C_EXAMPLESにチェックをつける
    OpenCV300_011_installExamples.png
  • Generateボタンを押す
  • 指定したディレクトリ内に OpenCV.sln ができている
    OpenCV300_012_solutionFile.png

ソースコードのビルド

  • 前のステップまでで生成されたOpenCV.sln を Visual Studio 2012で開く
  • 大量にプロジェクトが読み込まれるので、バッチビルドする。
  • ビルド(B)→バッチビルド(T)でバッチビルド画面を出す
  • バッチビルドでALL_BUILDのdebug/release両方を選択する
    OpenCV300_013_batchBuild.png
  • 今回はビルドに2時間39分要した

OpenCVビルド時のコンフィグなど

cvconfig.h

/* OpenCV compiled as static or dynamic libs */
#define BUILD_SHARED_LIBS

/* Compile for 'real' NVIDIA GPU architectures */
#define CUDA_ARCH_BIN " 30"

/* Create PTX or BIN for 1.0 compute capability */
/* #undef CUDA_ARCH_BIN_OR_PTX_10 */

/* NVIDIA GPU features are used */
#define CUDA_ARCH_FEATURES " 30"

/* Compile for 'virtual' NVIDIA PTX architectures */
#define CUDA_ARCH_PTX ""

/* AVFoundation video libraries */
/* #undef HAVE_AVFOUNDATION */

/* V4L capturing support */
/* #undef HAVE_CAMV4L */

/* V4L2 capturing support */
/* #undef HAVE_CAMV4L2 */

/* Carbon windowing environment */
/* #undef HAVE_CARBON */

/* AMD's Basic Linear Algebra Subprograms Library*/
/* #undef HAVE_CLAMDBLAS */

/* AMD's OpenCL Fast Fourier Transform Library*/
/* #undef HAVE_CLAMDFFT */

/* Clp support */
/* #undef HAVE_CLP */

/* Cocoa API */
/* #undef HAVE_COCOA */

/* C= */
/* #undef HAVE_CSTRIPES */

/* NVidia Cuda Basic Linear Algebra Subprograms (BLAS) API*/
/* #undef HAVE_CUBLAS */

/* NVidia Cuda Runtime API*/
#define HAVE_CUDA

/* NVidia Cuda Fast Fourier Transform (FFT) API*/
#define HAVE_CUFFT

/* IEEE1394 capturing support */
/* #undef HAVE_DC1394 */

/* IEEE1394 capturing support - libdc1394 v2.x */
/* #undef HAVE_DC1394_2 */

/* DirectX */
#define HAVE_DIRECTX
#define HAVE_D3D11
#define HAVE_D3D10
#define HAVE_D3D9

/* DirectShow Video Capture library */
#define HAVE_DSHOW

/* Eigen Matrix & Linear Algebra Library */
/* #undef HAVE_EIGEN */

/* FFMpeg video library */
#define HAVE_FFMPEG

/* ffmpeg's libswscale */
#define HAVE_FFMPEG_SWSCALE

/* ffmpeg in Gentoo */
#define HAVE_GENTOO_FFMPEG

/* Geospatial Data Abstraction Library */
/* #undef HAVE_GDAL */

/* GStreamer multimedia framework */
/* #undef HAVE_GSTREAMER */

/* GTK+ 2.0 Thread support */
/* #undef HAVE_GTHREAD */

/* GTK+ 2.x toolkit */
/* #undef HAVE_GTK */

/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */

/* Intel Perceptual Computing SDK library */
/* #undef HAVE_INTELPERC */

/* Intel Integrated Performance Primitives */
#define HAVE_IPP
#define HAVE_IPP_ICV_ONLY

/* Intel IPP Async */
/* #undef HAVE_IPP_A */

/* JPEG-2000 codec */
#define HAVE_JASPER

/* IJG JPEG codec */
#define HAVE_JPEG

/* libpng/png.h needs to be included */
/* #undef HAVE_LIBPNG_PNG_H */

/* V4L/V4L2 capturing support via libv4l */
/* #undef HAVE_LIBV4L */

/* Microsoft Media Foundation Capture library */
/* #undef HAVE_MSMF */

/* NVidia Video Decoding API*/
/* #undef HAVE_NVCUVID */

/* OpenCL Support */
#define HAVE_OPENCL
/* #undef HAVE_OPENCL_STATIC */
/* #undef HAVE_OPENCL_SVM */

/* OpenEXR codec */
#define HAVE_OPENEXR

/* OpenGL support*/
/* #undef HAVE_OPENGL */

/* OpenNI library */
/* #undef HAVE_OPENNI */

/* OpenNI library */
/* #undef HAVE_OPENNI2 */

/* PNG codec */
#define HAVE_PNG

/* Qt support */
/* #undef HAVE_QT */

/* Qt OpenGL support */
/* #undef HAVE_QT_OPENGL */

/* QuickTime video libraries */
/* #undef HAVE_QUICKTIME */

/* QTKit video libraries */
/* #undef HAVE_QTKIT */

/* Intel Threading Building Blocks */
/* #undef HAVE_TBB */

/* TIFF codec */
#define HAVE_TIFF

/* Unicap video capture library */
/* #undef HAVE_UNICAP */

/* Video for Windows support */
#define HAVE_VFW

/* V4L2 capturing support in videoio.h */
/* #undef HAVE_VIDEOIO */

/* Win32 UI */
#define HAVE_WIN32UI

/* XIMEA camera support */
/* #undef HAVE_XIMEA */

/* Xine video library */
/* #undef HAVE_XINE */

/* Define if your processor stores words with the most significant byte
   first (like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */

/* gPhoto2 library */
/* #undef HAVE_GPHOTO2 */

version_string.inc

General configuration for OpenCV 3.0.0 =====================================
  Version control:               3.0.0

  Platform:
    Host:                        Windows 6.1 AMD64
    CMake:                       3.0.1
    CMake generator:             Visual Studio 11 2012
    CMake build tool:            C:/Windows/Microsoft.NET/Framework/v4.0.30319/MSBuild.exe
    MSVC:                        1700

  C/C++:
    Built as dynamic libs?:      YES
    C++ Compiler:                C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/cl.exe  (ver 17.0.61030.0)
    C++ flags (Release):         /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /arch:SSE2 /Oi /fp:fast  /wd4251 /wd4324 /MP8  /MD /O2 /Ob2 /D NDEBUG  /Zi
    C++ flags (Debug):           /DWIN32 /D_WINDOWS /W4 /GR /EHa  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /arch:SSE2 /Oi /fp:fast  /wd4251 /wd4324 /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 
    C Compiler:                  C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/cl.exe
    C flags (Release):           /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /arch:SSE2 /Oi /fp:fast    /MP8  /MD /O2 /Ob2 /D NDEBUG  /Zi
    C flags (Debug):             /DWIN32 /D_WINDOWS /W3  /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SCL_SECURE_NO_WARNINGS /Gy /bigobj /arch:SSE2 /Oi /fp:fast    /MP8  /D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 
    Linker flags (Release):      /machine:X86   /INCREMENTAL:NO  /debug
    Linker flags (Debug):        /machine:X86   /debug /INCREMENTAL 
    Precompiled headers:         YES
    Extra dependencies:          comctl32 gdi32 ole32 setupapi ws2_32 vfw32 cudart nppc nppi npps cufft
    3rdparty dependencies:       zlib libjpeg libwebp libpng libtiff libjasper IlmImf ippicv

  OpenCV modules:
    To be built:                 hal cudev core cudaarithm flann imgproc ml video cudabgsegm cudafilters cudaimgproc cudawarping imgcodecs photo shape videoio cudacodec highgui objdetect ts features2d calib3d cudafeatures2d cudalegacy cudaobjdetect cudaoptflow cudastereo stitching superres videostab
    Disabled:                    world
    Disabled by dependency:      -
    Unavailable:                 java python2 python3 viz

  Windows RT support:            NO

  GUI: 
    QT:                          NO
    Win32 UI:                    YES
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O: 
    ZLib:                        build (ver 1.2.8)
    JPEG:                        build (ver 90)
    WEBP:                        build (ver 0.3.1)
    PNG:                         build (ver 1.5.12)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)
    GDAL:                        NO

  Video I/O:
    Video for Windows:           YES
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      YES (prebuilt binaries)
      codec:                     YES (ver 55.18.102)
      format:                    YES (ver 55.12.100)
      util:                      YES (ver 52.38.100)
      swscale:                   YES (ver 2.3.100)
      resample:                  NO
      gentoo-style:              YES
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    DirectShow:                  YES
    Media Foundation:            NO
    XIMEA:                       NO
    Intel PerC:                  NO

  Other third-party libraries:
    Use IPP:                     8.2.1 [8.2.1]
         at:                     D:/OpenCV300/3rdparty/ippicv/unpack/ippicv_win
    Use IPP Async:               NO
    Use Eigen:                   NO
    Use TBB:                     NO
    Use OpenMP:                  NO
    Use GCD                      NO
    Use Concurrency              YES
    Use C=:                      NO
    Use pthreads for parallel for:
                                 NO
    Use Cuda:                    YES (ver 5.5)
    Use OpenCL:                  YES

  NVIDIA CUDA
    Use CUFFT:                   YES
    Use CUBLAS:                  NO
    USE NVCUVID:                 NO
    NVIDIA GPU arch:             30
    NVIDIA PTX archs:
    Use fast math:               NO

  OpenCL:
    Version:                     dynamic
    Include path:                D:/OpenCV300/3rdparty/include/opencl/1.2
    Use AMDFFT:                  NO
    Use AMDBLAS:                 NO

  Python 2:
    Interpreter:                 NO

  Python 3:
    Interpreter:                 C:/Python33/python.exe (ver 3.3)

  Python (for build):            NO

  Java:
    ant:                         NO
    JNI:                         C:/Program Files (x86)/Java/jdk1.7.0_07/include C:/Program Files (x86)/Java/jdk1.7.0_07/include/win32 C:/Program Files (x86)/Java/jdk1.7.0_07/include
    Java wrappers:               NO
    Java tests:                  NO

  Matlab:
    mex:                         NO

  Documentation:
    Doxygen:                     NO
    PlantUML:                    NO

  Tests and samples:
    Tests:                       YES
    Performance tests:           YES
    C/C++ Examples:              NO

  Install path:                  D:/OpenCV300/build/install

  cvconfig.h is in:              D:/OpenCV300/build
-----------------------------------------------------------------

ビルドに要した時間Top10

  • アーキテクチャを限定したおかげでずいぶん短くなった
  • 2.4系列から比べてgpuモジュールが細分化されたので、ビルドに要する時間も一極集中ではなくなった
  • 2.4系列でアーキテクチャを絞った場合よりも、更に速くなっている
    dllの名前所要時間(min)
    opencv_cudafilters300.dll18
    opencv_video300.dll18
    opencv_cudaarithm300.dll12
    opencv_flann300.dll12
    opencv_videostab300.dll12
    opencv_cudawarping300.dll7
    opencv_cudafeatures2d300.dll6
    opencv_cudaimgproc300.dll5
    opencv_cudalegacy300.dll5
    opencv_cudastereo300.dll5
  • サンプルプログラムでも、ビルドに要する時間は短くなっている
    exeの名前所要時間(min)
    opencv_perf_cudaoptflow.exe7
    opencv_test_cudev.exe7
    opencv_perf_cudastereo.exe6
    opencv_test_core.exe2
    opencv_test_cudawarping.exe1
    opencv_test_highgui.exe1
    opencv_test_ml.exe1
    opencv_test_shape.exe1
    opencv_test_video.exe1
    opencv_perf_core.exe1

概要(Linux版のビルド)

  • Linux で OpenCV 3.0.0 をビルドする
  • ターゲットはUbuntu 12.04.5 (64bit)
  • CMake のバージョンは2.8,7
  • Gitでソースコードを取ってくる

ソースコードのダウンロード

  • gitでソースコードを取得してくる
  • リポジトリの URL は git://code.opencv.org/opencv.git
    git clone git://code.opencv.org/opencv.git opencv
  • で取得(クローン)してくる
    tomoaki@tomoaki-laptop:~$ time git clone git://code.opencv.org/opencv.git opencv
    Cloning into 'opencv'...
    remote: Counting objects: 176319, done.
    remote: Compressing objects: 100% (41255/41255), done.
    remote: Total 176319 (delta 127200), reused 172093 (delta 124277)
    Receiving objects: 100% (176319/176319), 361.87 MiB | 598 KiB/s, done.
    Resolving deltas: 100% (127200/127200), done.
    
    real    13m21.307s
    user    1m21.981s
    sys     0m18.357s
    tomoaki@tomoaki-laptop:~$ cd opencv/
    tomoaki@tomoaki-laptop:~/opencv$ git tag -l
    2.2
    2.3.0
    2.3.1
    2.4.0
    2.4.1
    2.4.10
    2.4.10.1
    2.4.10.2
    2.4.11
    2.4.2
    2.4.3
    2.4.3-rc
    2.4.3.1
    2.4.3.2
    2.4.4
    2.4.4-beta
    2.4.5
    2.4.6
    2.4.6.1
    2.4.6.2
    2.4.6.2-rc1
    2.4.6.2r2
    2.4.6.2r3
    2.4.7
    2.4.7-rc1
    2.4.7.1
    2.4.7.2
    2.4.8
    2.4.8.1
    2.4.8.2
    2.4.8.3
    2.4.9
    2.4.9.1
    3.0-ocl-tech-preview
    3.0-ocl-tp2
    3.0.0
    3.0.0-alpha
    3.0.0-beta
    3.0.0-rc1
    carma_release.0.0.1
    perf4au
  • タグを見てみると、alphaもbetaもついていない3.0.0というタグができている
  • 3.0.0をチェックアウトする
    git checkout 3.0.0

ビルド前準備

  • CMakeでMakefileを作る
    cmake .

ソースコードのビルド

  • Virtual Machine上でシングルコアでビルド
  • 21分 でビルドが終了した

OpenCVビルド時のコンフィグなど

cvconfig.h

/* OpenCV compiled as static or dynamic libs */
#define BUILD_SHARED_LIBS

/* Compile for 'real' NVIDIA GPU architectures */
#define CUDA_ARCH_BIN ""

/* Create PTX or BIN for 1.0 compute capability */
/* #undef CUDA_ARCH_BIN_OR_PTX_10 */

/* NVIDIA GPU features are used */
#define CUDA_ARCH_FEATURES ""

/* Compile for 'virtual' NVIDIA PTX architectures */
#define CUDA_ARCH_PTX ""

/* AVFoundation video libraries */
/* #undef HAVE_AVFOUNDATION */

/* V4L capturing support */
/* #undef HAVE_CAMV4L */

/* V4L2 capturing support */
#define HAVE_CAMV4L2

/* Carbon windowing environment */
/* #undef HAVE_CARBON */

/* AMD's Basic Linear Algebra Subprograms Library*/
/* #undef HAVE_CLAMDBLAS */

/* AMD's OpenCL Fast Fourier Transform Library*/
/* #undef HAVE_CLAMDFFT */

/* Clp support */
/* #undef HAVE_CLP */

/* Cocoa API */
/* #undef HAVE_COCOA */

/* C= */
/* #undef HAVE_CSTRIPES */

/* NVidia Cuda Basic Linear Algebra Subprograms (BLAS) API*/
/* #undef HAVE_CUBLAS */

/* NVidia Cuda Runtime API*/
/* #undef HAVE_CUDA */

/* NVidia Cuda Fast Fourier Transform (FFT) API*/
/* #undef HAVE_CUFFT */

/* IEEE1394 capturing support */
/* #undef HAVE_DC1394 */

/* IEEE1394 capturing support - libdc1394 v2.x */
/* #undef HAVE_DC1394_2 */

/* DirectX */
/* #undef HAVE_DIRECTX */
/* #undef HAVE_D3D11 */
/* #undef HAVE_D3D10 */
/* #undef HAVE_D3D9 */

/* DirectShow Video Capture library */
/* #undef HAVE_DSHOW */

/* Eigen Matrix & Linear Algebra Library */
/* #undef HAVE_EIGEN */

/* FFMpeg video library */
/* #undef HAVE_FFMPEG */

/* ffmpeg's libswscale */
/* #undef HAVE_FFMPEG_SWSCALE */

/* ffmpeg in Gentoo */
/* #undef HAVE_GENTOO_FFMPEG */

/* Geospatial Data Abstraction Library */
/* #undef HAVE_GDAL */

/* GStreamer multimedia framework */
/* #undef HAVE_GSTREAMER */

/* GTK+ 2.0 Thread support */
/* #undef HAVE_GTHREAD */

/* GTK+ 2.x toolkit */
/* #undef HAVE_GTK */

/* Define to 1 if you have the <inttypes.h> header file. */
/* #undef HAVE_INTTYPES_H */

/* Intel Perceptual Computing SDK library */
/* #undef HAVE_INTELPERC */

/* Intel Integrated Performance Primitives */
#define HAVE_IPP
#define HAVE_IPP_ICV_ONLY

/* Intel IPP Async */
/* #undef HAVE_IPP_A */

/* JPEG-2000 codec */
#define HAVE_JASPER

/* IJG JPEG codec */
#define HAVE_JPEG

/* libpng/png.h needs to be included */
/* #undef HAVE_LIBPNG_PNG_H */

/* V4L/V4L2 capturing support via libv4l */
/* #undef HAVE_LIBV4L */

/* Microsoft Media Foundation Capture library */
/* #undef HAVE_MSMF */

/* NVidia Video Decoding API*/
/* #undef HAVE_NVCUVID */

/* OpenCL Support */
#define HAVE_OPENCL
/* #undef HAVE_OPENCL_STATIC */
/* #undef HAVE_OPENCL_SVM */

/* OpenEXR codec */
#define HAVE_OPENEXR

/* OpenGL support*/
/* #undef HAVE_OPENGL */

/* OpenNI library */
/* #undef HAVE_OPENNI */

/* OpenNI library */
/* #undef HAVE_OPENNI2 */

/* PNG codec */
#define HAVE_PNG

/* Qt support */
/* #undef HAVE_QT */

/* Qt OpenGL support */
/* #undef HAVE_QT_OPENGL */

/* QuickTime video libraries */
/* #undef HAVE_QUICKTIME */

/* QTKit video libraries */
/* #undef HAVE_QTKIT */

/* Intel Threading Building Blocks */
/* #undef HAVE_TBB */

/* TIFF codec */
#define HAVE_TIFF

/* Unicap video capture library */
/* #undef HAVE_UNICAP */

/* Video for Windows support */
/* #undef HAVE_VFW */

/* V4L2 capturing support in videoio.h */
/* #undef HAVE_VIDEOIO */

/* Win32 UI */
/* #undef HAVE_WIN32UI */

/* XIMEA camera support */
/* #undef HAVE_XIMEA */

/* Xine video library */
/* #undef HAVE_XINE */

/* Define if your processor stores words with the most significant byte
   first (like Motorola and SPARC, unlike Intel and VAX). */
/* #undef WORDS_BIGENDIAN */

/* gPhoto2 library */
/* #undef HAVE_GPHOTO2 */

version_string.inc

  videoio: Removing WinRT API headers by default

General configuration for OpenCV 3.0.0 =====================================
  Version control:               3.0.0

  Platform:
    Host:                        Linux 3.11.0-15-generic x86_64
    CMake:                       2.8.7
    CMake generator:             Unix Makefiles
    CMake build tool:            /usr/bin/make
    Configuration:               Release

  C/C++:
    Built as dynamic libs?:      YES
    C++ Compiler:                /usr/bin/c++  (ver 4.6)
    C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
    C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
    C Compiler:                  /usr/bin/gcc
    C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
    C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
    Linker flags (Release):      
    Linker flags (Debug):        
    Precompiled headers:         YES
    Extra dependencies:          dl m pthread rt
    3rdparty dependencies:       ippicv

  OpenCV modules:
    To be built:                 hal core flann imgproc ml photo video imgcodecs shape videoio highgui objdetect superres ts features2d calib3d stitching videostab
    Disabled:                    world
    Disabled by dependency:      -
    Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python2 python3 viz

  GUI: 
    QT:                          NO
    GTK+:                        NO
    GThread :                    NO
    GtkGlExt:                    NO
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O: 
    ZLib:                        zlib (ver 1.2.8)
    JPEG:                        libjpeg (ver 90)
    WEBP:                        build (ver 0.3.1)
    PNG:                         build (ver 1.5.12)
    TIFF:                        build (ver 42 - 4.0.2)
    JPEG 2000:                   build (ver 1.900.1)
    OpenEXR:                     build (ver 1.7.1)
    GDAL:                        NO

  Video I/O:
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      NO
      codec:                     NO
      format:                    NO
      util:                      NO
      swscale:                   NO
      resample:                  NO
      gentoo-style:              NO
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    UniCap:                      NO
    UniCap ucil:                 NO
    V4L/V4L2:                    NO/YES
    XIMEA:                       NO
    Xine:                        NO
    gPhoto2:                     NO

  Other third-party libraries:
    Use IPP:                     8.2.1 [8.2.1]
         at:                     /home/tomoaki/opencv/3rdparty/ippicv/unpack/ippicv_lnx
    Use IPP Async:               NO
    Use Eigen:                   NO
    Use TBB:                     NO
    Use OpenMP:                  NO
    Use GCD                      NO
    Use Concurrency              NO
    Use C=:                      NO
    Use pthreads for parallel for:
                                 YES
    Use Cuda:                    NO
    Use OpenCL:                  YES

  OpenCL:
    Version:                     dynamic
    Include path:                /home/tomoaki/opencv/3rdparty/include/opencl/1.2
    Use AMDFFT:                  NO
    Use AMDBLAS:                 NO

  Python 2:
    Interpreter:                 /usr/bin/python (ver 2.7.3)

  Python 3:
    Interpreter:                 NO

  Python (for build):            /usr/bin/python

  Java:
    ant:                         NO
    JNI:                         NO
    Java wrappers:               NO
    Java tests:                  NO

  Matlab:
    mex:                         NO

  Documentation:
    Doxygen:                     NO
    PlantUML:                    NO

  Tests and samples:
    Tests:                       YES
    Performance tests:           YES
    C/C++ Examples:              NO

  Install path:                  /usr/local

  cvconfig.h is in:              /home/tomoaki/opencv
-----------------------------------------------------------------

ビルドに要した時間Top10

  • CUDA関連のビルドを外したら、あっさりビルドが終わる。速い。
    ビルドに要した時間(sec)moduleの名前
    229libopencv_ml.so.3.0.0
    183libopencv_flann.so.3.0.0
    106libopencv_imgproc.so.3.0.0
    105libopencv_calib3d.so.3.0.0
    93libopencv_hal.a
    89libopencv_stitching.so.3.0.0
    87libopencv_core.so.3.0.0
    63libopencv_shape.so.3.0.0
    48libopencv_photo.so.3.0.0
    48libopencv_features2d.so.3.0.0
  • HALモジュールはaファイルなのか

関連ページ


*1  OpenCV 3.0 | OpenCV, 2015-06-04公開, 2015-06-05閲覧, Ver 3.0

添付ファイル: fileOpenCV300_013_batchBuild.png 334件 [詳細] fileOpenCV300_012_solutionFile.png 337件 [詳細] fileOpenCV300_011_installExamples.png 329件 [詳細] fileOpenCV300_010_gpuArchitectureAftter.png 286件 [詳細] fileOpenCV300_009_gpuArchitectureBefore.png 310件 [詳細] fileOpenCV300_008_configureDone.png 324件 [詳細] fileOpenCV300_007_compilerChoice.png 365件 [詳細] fileOpenCV300_006_makeBuild.png 322件 [詳細] fileOpenCV300_005_cmakeConfigure.png 322件 [詳細] fileOpenCV300_004_switch.png 390件 [詳細] fileOpenCV300_003_tags.png 333件 [詳細] fileOpenCV300_002_cloneDone.png 376件 [詳細] fileOpenCV300_001_clone.png 427件 [詳細] fileOpenCV300_000_clone.png 466件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-01-04 (月) 17:38:07 (415d)