Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



7 Commits

Repository files navigation

The OpenCVCompareConfigs project

  • A simple build system for multiple OpenCV build configurations.
  • Was developped for Raspberry Pi but will work on debian like systems (Ubuntu).
  • Supports building OpenCV debian packages for manually installing and testing your code against.
  • Supports comparing OpenCV performance of different builds in detail and global average.

For some background see my blog

Installing and usage


git clone
sudo apt-get install checkinstall


Edit the OpenCVCompareConfigs/

  • Update the OPENCV_TEST_DATA_PATH variable (the script error message will show you how to get the OpenCV test data).
  • Update the src_dir vaiable to the OpenCV source location (where the CMakeLists.txt is).

Edit the OpenCVCompareConfigs/

  • Edit/Delete/Add builds as the examples with the commented headers #1, #2, #3 and #4.
  • If not changed, the currently 4 builds will be used, all building packages and testing performance against the simple release build.
  • These are the supported bash functions:
    • build(build_name, cmake_command) - mkdir build_name, use cmake and make inside this directory.
    • build_pkg(build_name) - build a deb package in the build_name directory.
    • perf_test(build_name) - execute OpenCV performance tests in the build_name directory.
    • report_failures() - report failures detected for the functions above.
    • perf_compare_against(build_name_to_compare_against) - compare performance test results.

Build/Test Performance/Compare

Each build takes ~ 40 minutes, but performance tests take ~ half a day per build. So this can take days on Raspberry Pi3, depending on the number of builds you also want to use for performance tests.


Continue after fixing a build/confgiuation problem

  • Simply remove the directory which failed to build and run the script again.
  • The script will not re-build (cmake & make) a directory if it exists.
  • The script will not rebuild a deb package if a deb is already built for that build.
  • The script will not execute performance tests again for a build if it's xml files are already there.
  • The script will overwrite the html summary files for each execution, as this is relatively fast and useful to redo (you can change the base you're comparing to and rerun).


Build and compare performance system for OpenCV on debian like system







No releases published


No packages published