The difference between opencv-python and opencv-contrib-python

Question:

I was looking at the Python Package Index (PyPi) and noticed 2 very similar packages: opencv-contrib-python and opencv-python and wondering what the difference was. I looked at them and they had the exact same description and version numbers.

Asked By: Awesome Bill

||

Answers:

As per PyPi documentation:

There are four different packages (see options 1, 2, 3 and 4 below):

Packages for standard desktop environments:

Option 1 – Main modules package: pip install opencv-python

Option 2 –
Full package (contains both main modules and contrib/extra modules):
pip install opencv-contrib-python (check contrib/extra modules listing
from OpenCV documentation)

Packages for server (headless) environments:

Option 3 – Headless main modules package: pip install opencv-python-headless

Option 4 – Headless full package (contains both main modules and contrib/extra modules): pip install opencv-contrib-python-headless

Do not install multiple different packages in the same environment

Answered By: Rajendra

Opencv has two compilations for each version, the "regular" one that is functional and well tested and the compilation with the extra components (contribs package) in their github’s page they put:

This repository is intended for the development of so-called "extra" modules, contributed functionality. New modules quite often do not have stable API, and they are not well-tested. Thus, they shouldn’t be released as a part of the official OpenCV distribution, since the library maintains binary compatibility, and tries to provide decent performance and stability.

Also in contribs package there are several non-free computer vision algorithms (for features) such as SURF, BRIEF, Censure, Freak, LUCID, Daisy, BEBLID, TEBLID.

Answered By: Oscar Andres
Categories: questions Tags: , ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.