Skip to main content

Wrapper package for OpenCV python bindings.

Project description

Downloads

OpenCV on Wheels

Unofficial pre-built OpenCV packages for Python.

Installation and Usage

  1. If you have previous/other manually installed (= not installed via pip) version of OpenCV installed (e.g. cv2 module in the root of Python's site-packages), remove it before installation to avoid conflicts.

  2. Select the correct package for your environment:

    There are four different packages and you should select only one of them. Do not install multiple different packages in the same environment. There is no plugin architecture: all the packages use the same namespace (cv2). If you installed multiple different packages in the same environment, uninstall them all with pip uninstall and reinstall only one package.

    a. Packages for standard desktop environments (Windows, macOS, almost any GNU/Linux distribution)

    • run pip install opencv-python if you need only main modules
    • run pip install opencv-contrib-python if you need both main and contrib modules (check extra modules listing from OpenCV documentation)

    b. Packages for server (headless) environments

    These packages do not contain any GUI functionality. They are smaller and suitable for more restricted environments.

    • run pip install opencv-python-headless if you need only main modules
    • run pip install opencv-contrib-python-headless if you need both main and contrib modules (check extra modules listing from OpenCV documentation)
  3. Import the package:

    import cv2

    All packages contain haarcascade files. cv2.data.haarcascades can be used as a shortcut to the data folder. For example:

    cv2.CascadeClassifier(cv2.data.haarcascades + "haarcascade_frontalface_default.xml")

  4. Read OpenCV documentation

  5. Before opening a new issue, read the FAQ below and have a look at the other issues which are already open.

Frequently Asked Questions

Q: Do I need to install also OpenCV separately?

A: No, the packages are special wheel binary packages and they already contain statically built OpenCV binaries.

Q: Pip fails with Could not find a version that satisfies the requirement ...?

A: Most likely the issue is related to too old pip and can be fixed by running pip install --upgrade pip. Note that the wheel (especially manylinux) format does not currently support properly ARM architecture so there are no packages for ARM based platforms in PyPI. However, opencv-python packages for Raspberry Pi can be found from https://www.piwheels.org/.

Q: Import fails on Windows: ImportError: DLL load failed: The specified module could not be found.?

A: If the import fails on Windows, make sure you have Visual C++ redistributable 2015 installed. If you are using older Windows version than Windows 10 and latest system updates are not installed, Universal C Runtime might be also required.

Windows N and KN editions do not include Media Feature Pack which is required by OpenCV. If you are using Windows N or KN edition, please install also Windows Media Feature Pack.

If you have Windows Server 2012+, media DLLs are probably missing too; please install the Feature called "Media Foundation" in the Server Manager. Beware, some posts advise to install "Windows Server Essentials Media Pack", but this one requires the "Windows Server Essentials Experience" role, and this role will deeply affect your Windows Server configuration (by enforcing active directory integration etc.); so just installing the "Media Foundation" should be a safer choice.

If the above does not help, check if you are using Anaconda. Old Anaconda versions have a bug which causes the error, see this issue for a manual fix.

If you still encounter the error after you have checked all the previous solutions, download Dependencies and open the cv2.pyd (located usually at C:\Users\username\AppData\Local\Programs\Python\PythonXX\Lib\site-packages\cv2) file with it to debug missing DLL issues.

Q: I have some other import errors?

A: Make sure you have removed old manual installations of OpenCV Python bindings (cv2.so or cv2.pyd in site-packages).

Q: Why the packages do not include non-free algorithms?

A: Non-free algorithms such as SIFT and SURF are not included in these packages because they are patented and therefore cannot be distributed as built binaries. See this issue for more info: https://github.com/skvark/opencv-python/issues/126

Q: Why the package and import are different (opencv-python vs. cv2)?

A: It's easier for users to understand opencv-python than cv2 and it makes it easier to find the package with search engines. cv2 (old interface in old OpenCV versions was named as cv) is the name that OpenCV developers chose when they created the binding generators. This is kept as the import name to be consistent with different kind of tutorials around the internet. Changing the import name or behaviour would be also confusing to experienced users who are accustomed to the import cv2.

Documentation for opencv-python

AppVeyor CI test status (Windows) Travis CI test status (Linux and OS X)

The aim of this repository is to provide means to package each new OpenCV release for the most used Python versions and platforms.

Build process

The project is structured like a normal Python package with a standard setup.py file. The build process for a single entry in the build matrices is as follows (see for example appveyor.yml file):

  1. In Linux and MacOS build: get OpenCV's optional C dependencies that we compile against

  2. Checkout repository and submodules

    • OpenCV is included as submodule and the version is updated manually by maintainers when a new OpenCV release has been made
    • Contrib modules are also included as a submodule
  3. Find OpenCV version from the sources

  4. Install Python dependencies

    • setup.py installs the dependencies itself, so you need to run it in an environment where you have the rights to install modules with Pip for the running Python
  5. Build OpenCV

    • tests are disabled, otherwise build time increases too much
    • there are 4 build matrix entries for each build combination: with and without contrib modules, with and without GUI (headless)
    • Linux builds run in manylinux Docker containers (CentOS 5)
  6. Rearrange OpenCV's build result, add our custom files and generate wheel

  7. Linux and macOS wheels are transformed with auditwheel and delocate, correspondingly

  8. Install the generated wheel

  9. Test that Python can import the library and run some sanity checks

  10. Use twine to upload the generated wheel to PyPI (only in release builds)

Steps 1--5 are handled by setup.py bdist_wheel.

The build can be customized with environment variables. In addition to any variables that OpenCV's build accepts, we recognize:

  • ENABLE_CONTRIB and ENABLE_HEADLESS. Set to 1 to build the contrib and/or headless version
  • CMAKE_ARGS. Additional arguments for OpenCV's CMake invocation. You can use this to make a custom build.

Licensing

Opencv-python package (scripts in this repository) is available under MIT license.

OpenCV itself is available under 3-clause BSD License.

Third party package licenses are at LICENSE-3RD-PARTY.txt.

All wheels ship with FFmpeg licensed under the LGPLv2.1.

Linux wheels ship with Qt 4.8.7 licensed under the LGPLv2.1.

MacOS wheels ship with Qt 5 licensed under the LGPLv3.

Versioning

find_version.py script searches for the version information from OpenCV sources and appends also a revision number specific to this repository to the version string.

Releases

A release is made and uploaded to PyPI when a new tag is pushed to master branch. These tags differentiate packages (this repo might have modifications but OpenCV version stays same) and should be incremented sequentially. In practice, release version numbers look like this:

cv_major.cv_minor.cv_revision.package_revision e.g. 3.1.0.0

The master branch follows OpenCV master branch releases. 3.4 branch follows OpenCV 3.4 bugfix releases.

Development builds

Every commit to the master branch of this repo will be built. Possible build artifacts use local version identifiers:

cv_major.cv_minor.cv_revision+git_hash_of_this_repo e.g. 3.1.0+14a8d39

These artifacts can't be and will not be uploaded to PyPI.

Manylinux wheels

Linux wheels are built using manylinux. These wheels should work out of the box for most of the distros (which use GNU C standard library) out there since they are built against an old version of glibc.

The default manylinux images have been extended with some OpenCV dependencies. See Docker folder for more info.

Supported Python versions

Python 3.x releases are provided for officially supported versions (not in EOL).

Currently, builds for following Python versions are provided:

  • 3.5
  • 3.6
  • 3.7
  • 3.8

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win_amd64.whl (36.9 MB view details)

Uploaded CPython 3.8Windows x86-64

opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win32.whl (27.2 MB view details)

Uploaded CPython 3.8Windows x86

opencv_contrib_python_headless-3.4.9.33-cp38-cp38-macosx_10_9_x86_64.whl (50.7 MB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win_amd64.whl (36.9 MB view details)

Uploaded CPython 3.7mWindows x86-64

opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win32.whl (27.2 MB view details)

Uploaded CPython 3.7mWindows x86

opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-macosx_10_9_x86_64.whl (50.7 MB view details)

Uploaded CPython 3.7mmacOS 10.9+ x86-64

opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win_amd64.whl (36.9 MB view details)

Uploaded CPython 3.6mWindows x86-64

opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win32.whl (27.2 MB view details)

Uploaded CPython 3.6mWindows x86

opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-macosx_10_9_x86_64.whl (50.7 MB view details)

Uploaded CPython 3.6mmacOS 10.9+ x86-64

opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win_amd64.whl (36.9 MB view details)

Uploaded CPython 3.5mWindows x86-64

opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win32.whl (27.2 MB view details)

Uploaded CPython 3.5mWindows x86

opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-macosx_10_9_x86_64.whl (50.7 MB view details)

Uploaded CPython 3.5mmacOS 10.9+ x86-64

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 36.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 a5ca447bebd8aed3d93883387d3316801ffe8bb941fbe0c12b351556eac28f79
MD5 ccabccd0aa4f98a14cfa36596661b343
BLAKE2b-256 212861d6fa2a0056808d78822d76e0c5275d12e6504c5bb6aca4653a2e1a596c

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win32.whl.

File metadata

  • Download URL: opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win32.whl
  • Upload date:
  • Size: 27.2 MB
  • Tags: CPython 3.8, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.8.0

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp38-cp38-win32.whl
Algorithm Hash digest
SHA256 4dc8876517942880b0a55f9561849c63e7a7b26525719ec74ef69398dfdcdbdc
MD5 2b77916d52e9475f074bb6085362b6cc
BLAKE2b-256 2487c2d21c92401ad7fef5a81a52c1e888543b520cdc9b63bb4faa7d156064a9

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp38-cp38-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp38-cp38-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 44ec24d1260d8fef60f7380b9fc65567c88ca226afb9534d4d5ed60b66aeeb50
MD5 a3e4bdf13540882adbef0c4e02cd9e66
BLAKE2b-256 1b5ca50f096da126ef3be8a99d3c3117ef87a347940d42f1501c53294e9df162

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp38-cp38-manylinux1_i686.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp38-cp38-manylinux1_i686.whl
Algorithm Hash digest
SHA256 5c8427e47a68d39720598efcc4f18e205afc234a743f4c04bdddf93a6a348e09
MD5 225818873a8e99d0741964f960e0e71f
BLAKE2b-256 bb4f421647b0de0c5f969f1dbc251b9e9b22c4ff6e8ba6e86e0d97c7dd16bbaf

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 7029602224003413f63e484551d0323762fca691ca1b23fd7012fa474f453251
MD5 efa8eff5201034a1e030cda2a2ac0344
BLAKE2b-256 c27a1bf6025c5fbc43fbe5f33421242c5fa2aa5f67708180505739086d2682bc

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win_amd64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win_amd64.whl
Algorithm Hash digest
SHA256 9df390b244950457c6e8ddf1798254f424df886aedf3ce547164f7dbdc340bcf
MD5 1777a693d86912c35cd19397a2cc5c83
BLAKE2b-256 8e66dc7e54d95f579654bd126d9bd96607817c5653045c859feb0ed5b983e964

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win32.whl.

File metadata

  • Download URL: opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win32.whl
  • Upload date:
  • Size: 27.2 MB
  • Tags: CPython 3.7m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.7.5

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-win32.whl
Algorithm Hash digest
SHA256 75a4fad82b9dc12e2efc267514af0b55e09dad005c7f7034bc695542a1f49e75
MD5 69b4b77655a56d04373705344f37a529
BLAKE2b-256 851ae858855c565e24306ba2b1f480c761f51e003b7368bd9a0912827b77d810

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 6bce9b1785c4256cd124effcbf95310fe07f689d9768d563d5ce71a8bafd6853
MD5 d1772e70bbe5490b57e56a8d77565715
BLAKE2b-256 031d4ec410e81a102f2cb0163db1834633ce5b1d8b13d78111420f1aa704077d

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 23b8843d615128dabba7d1799e23ab616f0b8a3a53dbc9bb3743f5490d89a24d
MD5 0ad823932ded5f7ce5734789df5d9d45
BLAKE2b-256 2474093bcccf6b931282a5f675da6c802bd59f098d7d73ad2fc20969d41ba631

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f3861dcdc480db4b319c2b994cbd6a68998b8de118bfff5d0cf90e0957c22765
MD5 8e037b23c181b960e28daa829d21cebe
BLAKE2b-256 71fecf37a64a10dbb3a88a65e3ae6b555700eb722c34f15db4198611d5f021a0

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win_amd64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win_amd64.whl
Algorithm Hash digest
SHA256 cd353935a39b09145b91f140552b430df4789bd3d5663f3c737c21ae41d21014
MD5 8a717654c271fb43d8ff1104509aaef5
BLAKE2b-256 e9a3fbb40cc1206f942a13ecaf6b70c3aec9ef0073b3dc35408b5eb33f861dfa

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win32.whl.

File metadata

  • Download URL: opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win32.whl
  • Upload date:
  • Size: 27.2 MB
  • Tags: CPython 3.6m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.6.8

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-win32.whl
Algorithm Hash digest
SHA256 5a4fb1883a22fa12f2237e0cc6ebb55d206d1daabc34b20b290211041f00a82a
MD5 ca726c5f44bf836746bdcb54067a3e04
BLAKE2b-256 2ab31d5fcf857be0fae639637648862e52f13922d04da71bad7669871d742b66

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 7caeeae99ff382ec43df2b1da7d88232a246a0065863a417a2a89ec8232fe71b
MD5 64170fc4a18d2ddcafd7bbc3865e4f54
BLAKE2b-256 7d9a23a174b4fc7484aae0db09f639785871760f89a5931e33e827b65808737d

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 7a58534fa06257c5940baf26735b7671424f27195d97d2c367318bd00016362f
MD5 9509b53db4676a2fa69e01522109c65a
BLAKE2b-256 eb2fdf466cbf57930db4dacc03b1f154dd5a09dced9964b66ab7a5ee814b60da

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4ab39488600001826f4751ac8e14916c4a38dca2ae423cf748a3fc061740cf2a
MD5 74747dc73f29385a23c020d4a2d8c003
BLAKE2b-256 5ef311cfe5e266c1a5f38fe96484fd9d49474cfb7f4867abff99f93b417edfbf

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win_amd64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win_amd64.whl
Algorithm Hash digest
SHA256 1092c457f90b9f89acdb9cf25d2827efec6e03c021f75ea56db18a30c823551e
MD5 cc9f3bfd4c6f374fa578e4e5f3cdf216
BLAKE2b-256 9e2c6ac43ac50fed104365c3166ec943a72cda5f226da859124a205f7c2fe629

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win32.whl.

File metadata

  • Download URL: opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win32.whl
  • Upload date:
  • Size: 27.2 MB
  • Tags: CPython 3.5m, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.45.0 CPython/3.5.4

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-win32.whl
Algorithm Hash digest
SHA256 58ac131aed9440aeb43dcff21af36efdd074655de7864fd98f2a926a6c2810f1
MD5 fb54910c9504663a06df5238b7775143
BLAKE2b-256 b1c51486c98256e6d9d661e502e9712611b34ff2a82d87c6304cced82ca10904

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-manylinux1_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-manylinux1_x86_64.whl
Algorithm Hash digest
SHA256 45c1379a395cc562f936621821b31e7449de5cceb2d1bac5e2f0d2515b821fc5
MD5 bdd88b14cd2f3fcb1248fa82a021378c
BLAKE2b-256 584f09688d2ab60041d374a4cd7d256d38b484b4bb1c0276f7fd4585b0c0a127

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-manylinux1_i686.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-manylinux1_i686.whl
Algorithm Hash digest
SHA256 0ef7c57f73b3a9b3d3eaac5a879e33f2d2384d554e4e3c85b0eee69e7ba55d8d
MD5 66dc0d91e88a2d020c499767cb995b51
BLAKE2b-256 380ba4b4a5abf2b18e4336f2fda45ffb43815542ccd4fd9e0b9611eb91375996

See more details on using hashes here.

File details

Details for the file opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for opencv_contrib_python_headless-3.4.9.33-cp35-cp35m-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 079f921509ee99b950df4d3408b2ef6ea43e4b80e31a42c719e2fb5ca0790354
MD5 c0a0c96644f3fdcbfb296d32b9e062b1
BLAKE2b-256 d963aaff5730a640f65f348c2b29be75630473e9fb1cc2bc9c3788e953e46ad6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page