Get OpenCV Build Information ( getBuildInformation )

In this tutorial, we will introduce a quick way to check your OpenCV build settings. If you have ever compiled or installed OpenCV, you know it can be compiled with an overwhelming number of options. For example, when installed on MacOS with Homebrew, OpenCV3 has the following options. It can

In this tutorial, we will introduce a quick way to check your OpenCV build settings.

If you have ever compiled or installed OpenCV, you know it can be compiled with an overwhelming number of options. For example, when installed on MacOS with Homebrew, OpenCV3 has the following options.

$ brew options opencv3

--c++11
	Build using C++11 mode
--with-contrib
	Build "extra" contributed modules
--with-cuda
	Build with CUDA v7.0+ support
--with-examples
	Install C and python examples (sources)
--with-ffmpeg
	Build with ffmpeg support
--with-gphoto2
	Build with gphoto2 support
--with-gstreamer
	Build with gstreamer support
--with-jasper
	Build with jasper support
--with-java
	Build with Java support
--with-jpeg-turbo
	Build with libjpeg-turbo instead of libjpeg
--with-libdc1394
	Build with libdc1394 support
--with-nonfree
	Enable non-free algorithms
--with-opengl
	Build with OpenGL support (must use --with-qt)
--with-openni
	Build with openni support
--with-openni2
	Build with openni2 support
--with-python3
	Build with python3 support
--with-qt
	Build the Qt backend to HighGUI
--with-quicktime
	Use QuickTime for Video I/O instead of QTKit
--with-static
	Build static libraries
--with-tbb
	Enable parallel code in OpenCV using Intel TBB
--with-vtk
	Build with vtk support
--without-eigen
	Build without eigen support
--without-numpy
	Use a numpy you've installed yourself instead of a Homebrew-packaged numpy
--without-opencl
	Disable GPU code in OpenCV using OpenCL
--without-openexr
	Build without openexr support
--without-python
	Build without Python support
--without-test
	Build without accuracy & performance tests
--HEAD
	Install HEAD version

It can be mind numbing to figure out what option you had used while compiling or installing OpenCV.

I had written a detailed post earlier on how to find OpenCV version.

But if you want the full build information, you need to use getBuildInformation. The usage is straightforward.

The C++ and Python code are listed below.

How to find OpenCV build information using C++ ?

The code for obtaining build information is shared below.

#include <opencv2/opencv.hpp>

int main(void)
{
  std::cout << cv::getBuildInformation() << std::endl;
}

How to find OpenCV build information using Python?

The code for obtaining build information using python is shared below.

import cv2
print cv2.getBuildInformation()

Output of getBuildInformation

I have shared an example of getBuildInformation output below. This is very useful to share when asking questions in a forum.

General configuration for OpenCV 3.2.0 =====================================
  Version control:               unknown

  Extra modules:
    Location (extra):            /tmp/opencv3-20170521-37568-15s9x5w/opencv-3.2.0/opencv_contrib/modules
    Version control (extra):     unknown

  Platform:
    Timestamp:                   2017-05-21T18:48:31Z
    Host:                        Darwin 16.6.0 x86_64
    CMake:                       3.8.1
    CMake generator:             Unix Makefiles
    CMake build tool:            /usr/local/Homebrew/Library/Homebrew/shims/super/gmake
    Configuration:               Release

  C/C++:
    Built as dynamic libs?:      YES
    C++ Compiler:                /usr/local/Homebrew/Library/Homebrew/shims/super/clang++  (ver 8.1.0.8020042)
    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 -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -fno-omit-frame-pointer -msse -msse2 -mavx -mavx2 -fvisibility=hidden -fvisibility-inlines-hidden -mf16c -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 -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -fno-omit-frame-pointer -msse -msse2 -mavx -mavx2 -fvisibility=hidden -fvisibility-inlines-hidden -mf16c -g  -O0 -DDEBUG -D_DEBUG
    C Compiler:                  /usr/local/Homebrew/Library/Homebrew/shims/super/clang
    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 -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -fno-omit-frame-pointer -msse -msse2 -mavx -mavx2 -fvisibility=hidden -fvisibility-inlines-hidden -mf16c -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 -Wsign-promo -Wno-narrowing -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Wno-long-long -Qunused-arguments -Wno-semicolon-before-method-body -fno-omit-frame-pointer -msse -msse2 -mavx -mavx2 -fvisibility=hidden -fvisibility-inlines-hidden -mf16c -g  -O0 -DDEBUG -D_DEBUG
    Linker flags (Release):
    Linker flags (Debug):
    ccache:                      NO
    Precompiled headers:         NO
    Extra dependencies:          -framework OpenCL /usr/local/opt/jpeg/lib/libjpeg.dylib /usr/local/lib/libpng.dylib /usr/local/lib/libtiff.dylib /usr/local/lib/libImath.dylib /usr/local/lib/libIlmImf.dylib /usr/local/lib/libIex.dylib /usr/local/lib/libHalf.dylib /usr/local/lib/libIlmThread.dylib avcodec avformat avutil swscale avresample -framework VideoDecodeAcceleration bz2 -framework Cocoa -framework AVFoundation -framework CoreGraphics -framework CoreMedia -framework CoreVideo -framework QuartzCore /usr/local/lib/libhdf5.dylib /usr/local/lib/libsz.dylib /usr/lib/libz.dylib /usr/lib/libdl.dylib /usr/lib/libm.dylib /usr/local/lib/libtesseract.dylib /usr/local/lib/liblept.dylib tbb -framework Accelerate
    3rdparty dependencies:       libwebp libprotobuf

  OpenCV modules:
    To be built:                 core flann hdf imgproc ml photo reg surface_matching video dnn fuzzy imgcodecs shape videoio highgui objdetect plot superres xobjdetect xphoto bgsegm bioinspired dpm face features2d line_descriptor saliency text calib3d ccalib datasets rgbd stereo tracking videostab xfeatures2d ximgproc aruco optflow phase_unwrapping stitching structured_light matlab python2
    Disabled:                    world contrib_world
    Disabled by dependency:      -
    Unavailable:                 cudaarithm cudabgsegm cudacodec cudafeatures2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev java python3 ts viz cnn_3dobj cvv freetype sfm

  GUI:
    QT:                          NO
    Cocoa:                       YES
    OpenGL support:              NO
    VTK support:                 NO

  Media I/O:
    ZLib:                        /usr/lib/libz.dylib (ver 1.2.8)
    JPEG:                        /usr/local/opt/jpeg/lib/libjpeg.dylib (ver 80)
    WEBP:                        build (ver 0.3.1)
    PNG:                         /usr/local/lib/libpng.dylib (ver 1.6.29)
    TIFF:                        /usr/local/lib/libtiff.dylib (ver 42 - 4.0.7)
    JPEG 2000:                   NO
    OpenEXR:                     /usr/local/lib/libImath.dylib /usr/local/lib/libIlmImf.dylib /usr/local/lib/libIex.dylib /usr/local/lib/libHalf.dylib /usr/local/lib/libIlmThread.dylib (ver 2.2.0)
    GDAL:                        NO
    GDCM:                        NO

  Video I/O:
    DC1394 1.x:                  NO
    DC1394 2.x:                  NO
    FFMPEG:                      YES
      avcodec:                   YES (ver 57.89.100)
      avformat:                  YES (ver 57.71.100)
      avutil:                    YES (ver 55.58.100)
      swscale:                   YES (ver 4.6.100)
      avresample:                YES (ver 3.5.0)
    GStreamer:                   NO
    OpenNI:                      NO
    OpenNI PrimeSensor Modules:  NO
    OpenNI2:                     NO
    PvAPI:                       NO
    GigEVisionSDK:               NO
    Aravis SDK:                  NO
    AVFoundation:                YES
    V4L/V4L2:                    NO/NO
    XIMEA:                       NO
    gPhoto2:                     NO

  Parallel framework:            TBB (ver 2017.0 interface 9106)

  Other third-party libraries:
    Use IPP:                     9.0.1 [9.0.1]
         at:                     /tmp/opencv3-20170521-37568-15s9x5w/opencv-3.2.0/macbuild/3rdparty/ippicv/ippicv_osx
    Use IPP Async:               NO
    Use VA:                      NO
    Use Intel VA-API/OpenCL:     NO
    Use Lapack:                  YES (-framework Accelerate)
    Use Eigen:                   YES (ver 3.3.3)
    Use Cuda:                    NO
    Use OpenCL:                  YES
    Use OpenVX:                  NO
    Use custom HAL:              NO

  OpenCL:                        <Link with OpenCL library>
    Include path:                /usr/local/include /usr/local/include
    Link libraries:              -framework OpenCL
    Use AMDFFT:                  YES
    Use AMDBLAS:                 YES

  Python 2:
    Interpreter:                 /usr/bin/python (ver 2.7.10)
    Libraries:                   /System/Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib (ver 2.7.10)
    numpy:                       /usr/local/lib/python2.7/site-packages/numpy/core/include (ver 1.12.1)
    packages path:               lib/python2.7/site-packages

  Python 3:
    Interpreter:                 /usr/local/bin/python3 (ver 3.6.1)

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

  Java:
    ant:                         NO
    JNI:                         /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/include /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/include/darwin /Library/Java/JavaVirtualMachines/jdk1.8.0_31.jdk/Contents/Home/include
    Java wrappers:               NO
    Java tests:                  NO

  Matlab:
    mex:                         /Applications/MATLAB_R2016b.app/bin/mex
    Compiler/generator:          Working

  Documentation:
    Doxygen:                     /usr/local/bin/doxygen (ver 1.8.11)

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

  Install path:                  /usr/local/Cellar/opencv3/3.2.0

  cvconfig.h is in:              /tmp/opencv3-20170521-37568-15s9x5w/opencv-3.2.0/macbuild
-----------------------------------------------------------------


Read Next

VideoRAG: Redefining Long-Context Video Comprehension

VideoRAG: Redefining Long-Context Video Comprehension

Discover VideoRAG, a framework that fuses graph-based reasoning and multi-modal retrieval to enhance LLMs' ability to understand multi-hour videos efficiently.

AI Agent in Action: Automating Desktop Tasks with VLMs

AI Agent in Action: Automating Desktop Tasks with VLMs

Learn how to build AI agent from scratch using Moondream3 and Gemini. It is a generic task based agent free from…

The Ultimate Guide To VLM Evaluation Metrics, Datasets, And Benchmarks

The Ultimate Guide To VLM Evaluation Metrics, Datasets, And Benchmarks

Get a comprehensive overview of VLM Evaluation Metrics, Benchmarks and various datasets for tasks like VQA, OCR and Image Captioning.

Subscribe to our Newsletter

Subscribe to our email newsletter to get the latest posts delivered right to your email.

Subscribe to receive the download link, receive updates, and be notified of bug fixes

Which email should I send you the download link?

🎃 Halloween Sale: Exclusive Offer – 30% Off on All Courses.
D
H
M
S
Expired
 

Get Started with OpenCV

Subscribe To Receive

We hate SPAM and promise to keep your email address safe.​