Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LINK: https://pypi.org/project/opencv-python/
- 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 => https://docs.opencv.org/master/)
- 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 => https://docs.opencv.org/master/)
- 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.
- FAQS:
- 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 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.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement