Opencv-contrib is free or not?

I want to know if opencv-contrib is free to use ? because I want to use the tracking library.

Thank you


where does your worry come from?

you’ll find a README in every module. that says if the module contains non-free algorithms. example: opencv_contrib/modules/xfeatures2d at master · opencv/opencv_contrib · GitHub

there’s also OPENCV_ENABLE_NONFREE, a cmake variable that governs what is getting built.

1 Like

Thank you very much. I’m novice, I just start with opencv so I’m not familiar with haha. I want to install opencv-contrib on windows

then install python and then opencv-contrib-python · PyPI

if you need it for C++ code, you will have to clone both repos and then build opencv with contrib modules.

Yes I need for c++ code. Thank you, I will check it.
Tha,k you very much Sir.

you’ll need cmake and visual studio. use cmake-gui for all the configuration.
point OPENCV_EXTRA_MODULES_PATH to opencv_contrib/modules wherever you placed the clone.

All right, I have already opencv build with cmake-gui. But I use eclipse instead of visual studio to build it.


About contrib module being free: OpenCV main library is free, under Apache 2 license, and previously under 3-clause BSD, as you can read here.

Contrib module is a separate one because it contains code not compatible with this license. So, you can download it and install it for free, but there may be obligations when you use it, like free to develop but not for commercial use, and other like such.

But also contrib has code “in the process” to be porting to the main library. Not all code in contrib module has license incompatibility.

Thank you very much for this more information.

I want to know also, I want to build cuda::gpu from opencv-contrib but I want to use Mingw compilation and not mvsc. I check on other forum and it seems that cuda it’s not compatible with mingw compiler ?


CUDA is a programming language. It is similar to C++, but it’s not C++. You need a compiler for such language. NVidia has NVCC, NVidia Cuda Compiler.

I don’t know if it helps. I hope I don’t add confusion.