Maksim Shabunin edited this page Jan 9, 2017 · 17 revisions
Clone this wiki locally

OpenCV Wiki

OpenCV (Open Source Computer Vision) is a library of programming functions for realtime computer vision. It uses a BSD license and hence it’s free for both academic and commercial use. It has C++, C, Python and Java (Android) interfaces and supports Windows, Linux, Android, iOS and Mac OS. It has more than 2500 optimized algorithms. Adopted all around the world, OpenCV has more than 9 million downloads growing by nearly 200K/month. Usage ranges from interactive art, to mines inspection, stitching maps on the web on through advanced robotics.

GSoC 2016

Google Summer of Code Site for Student and Mentor Sign up




  • How to Contribute
  • Source Codes can be found at GitHub. The main OpenCV repository was converted to git and compactified. History now begins with the famous “atomic bomb” commit, that dates back to May the 11th, 2010.
    • To get the source code, point your git client to git://github.com/opencv/opencv.git. Here are instructions.
      git clone git://github.com/opencv/opencv.git
    • The rest of the history plus matches between git commits and SVN revisions are stored at a separate “OpenCV Attic” repository: git://code.opencv.org/opencv_attic.git.
    • Also OpenCV Extra was put to a separate repository: git://code.opencv.org/opencv_extra.git.
  • OpenCV Development Process

Issue Tracking

Please note that OpenCV project, as any open-source project, welcomes contributions from users. Either you have implemented some new functionality, or you’re able to localize and fix a bug by yourself, please make a pull request at the GitHub. It will be automatically tested and reviewed by peers. Check your code for compliance with OpenCV Code Style Guide and please explain how your contribution might help others.

Creating new tickets

All new tickets should be created on GitHub: opencv and opencv_contrib

Old issue tracker will be moved to read-only state.

Reporting bugs

  • First of all ask about the issue at the Q&A forum. Then try to debug it in your own environment, because it may take forever to just reproduce the issue on other workstation. If you succeed, submit the fix as a pull request, and your fix may be included to the very next OpenCV release! But if you can’t debug it, please do as follows…
  • Please, specify your platform (Windows 32/64bit, Linux x86/x64/ppc/…, MacOSX 32/64bit/ppc); compiler version; OpenCV version/revision; whether IPP, OpenMP, MMX, SSE … have been enabled or not, and any other information that let us reproduce the environment, identify and localize the problem.
  • A sample code reproducing the problem helps us the most. It would really help if you could implement a unit-test that fails! Please check samples – for the preferred style (small code size, cross-platform). There is no need to provide any project files or makefiles, if it is a short single-file sample, we could build it and run in a minute. If we can reproduce the problem, we can fix it quickly.
  • If your application is complex, and the problem happens somewhere in the middle, often it is still possible to create a short standalone sample:
    • First, capture and store the data that you pass to the function using FileStorage.
    • Then copy the function call and put the corresponding reading from FileStorage in front of it.

Topic Pages