I do not know what pip install cv2 actually installs... but is surely not OpenCV. pip install cv2 actually installs this, which are some blog distribution utilities, not sure what it is, but it is not OpenCV.
You could also try conda install -c conda-forge opencv and conda install -c conda-forge/label/broken opencv if step 5 doesn't work, as someone recommended when I had the same problem. Hope this helps!
In this article, we will learn how to install Opencv 4 in Python on MacOS. OpenCV (Open Source Computer Vision Library) is a library of programming functions mainly aimed at real-time computer vision.
We want to use Python installed by Homebrew because it makes installing/managing packages easier. To run python scripts you should run command python2 and python3 for Python 2 & 3 respectively. If you find this annoying and want to use command python to run python2, add following line to ~/.bash_profile.
Depending on your internet connection and system speed, the download and install process can take anywhere from 30 to 60 minutes. I would suggest installing Xocde in the background while you are getting some other work done or going for a nice long walk.
Now that Xcode is installed and we have accepted the Apple developer license, we can install the Apple Command Line Tools. These tools include packages such as make, GCC, clang, etc. This is a required step, so make you install the Apple Command line tools via:
Now that Homebrew is successfully installed and updated, we need to update our ~/.bash_profile file so that it searches the Homebrew path for packages/libraries before it searches the system path. Failure to complete this step can lead to confusing errors, import problems, and segfaults when trying to utilize Python and OpenCV, so make sure you update your ~/.bash_profile file correctly!
The reason I bring this up is because file paths can and will change based on your particular Python version numbers. The instructions detailed in this tutorial will successfully install OpenCV via Homebrew on your macOS machine provided you pay attention to your Python version numbers.
Forgetting to check and validate file paths is a common mistake I see readers make when trying to install OpenCV on their macOS machines for the first time. Do not blindly copy and paste commands and file paths. Instead, take the time to validate your file paths based on your Python version numbers. Doing so will ensure your commands are correctly constructed and will help you immensely when installing OpenCV for the first time.
The first step is to add the homebrew/science repository to the set of packages we are tracking. This allows us to access the formulae to install OpenCV. To accomplish this, just use the following command:
For those who are curious, the Homebrew formulae (i.e., the actual commands used to install OpenCV 3) can be found here. Use the parameters above and the install script as a reference if you want to add any additional OpenCV 3 features.
We are now ready to install OpenCV 3 with Python bindings on your macOS system via Homebrew. Depending on the dependencies you do or do not already have installed, along with the speed of your system, this compilation could easily take a couple of hours, so you might want to go for a walk once you kick-off the install process.
This means that our Python 2.7 + OpenCV 3 bindings are now installed in /usr/local/opt/opencv3/lib/python2.7/site-packages , which is Homebrew path to the OpenCV compile. We can verify this via the ls command:
I also created an OpenCV 3 + Python 3 virtual environment as well (named py3cv3 ), installed NumPy, and sym-linked the OpenCV 3 bindings. The output of me accessing the py3cv3 virtual environment and importing OpenCV can be seen below:
As you can see, utilizing Homebrew is a great method to avoid the tedious process of manually configuring your CMake command to compile OpenCV via source (my full list of OpenCV install tutorials can be found on this page).
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.
Make sure that your pip version is up-to-date (19.3 is the minimum supported version): pip install --upgrade pip. Check version with pip -V. For example Linux distributions ship usually with very old pip versions which cause a lot of unexpected problems especially with the manylinux format.
There are four different packages (see options 1, 2, 3 and 4 below) 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.
Since opencv-python version 4.3.0.*, manylinux1 wheels were replaced by manylinux2014 wheels. If your pip is too old, it will try to use the new source distribution introduced in 220.127.116.11 to manually build OpenCV because it does not know how to install manylinux2014 wheels. However, source build will also fail because of too old pip because it does not understand build dependencies in pyproject.toml. To use the new manylinux2014 pre-built wheels (or to build from source), your pip version must be >= 19.3. Please upgrade pip with pip install --upgrade pip.
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.
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.
This means that most software is still built to run on amd64 processors so when we install OpenCV, there is a strong chance your computer, or dependency manager, tries to install an amd64 version. On M1 this is a problem and instead we want to the arm64 versions of OpenCV and its dependencies.
Note: This method does not set up the Python bindings for OpenCV (still working on that). It only sets up the C++ framework. Also, I tested this on OSX Lion, but it should apply to Snow Leopard or Leopard. Also you will need XCode installed for any of this to work (but you knew that, right?)
In your terminal, type in the following:sudo port install cmakeThis will go fetch cmake and its dependencies and install them onto your system. You can check to see that cmake is installed by typing cmake in a new terminal window.
I got it working. Apparently I have made a mistake by installing OpenCV at /usr. When I set Header Search Path to /usr/include XCode picks some unnecessary headers and fails to link my project it seems. I followed your tutorial from the beginning and the it worked. ?
I have some errs when I try the last 2 commands: make -j8 andsudo make installit says:make: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/window_cocoa.o] Error 1make: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2make: *** [all] Error 2
My favorite Python virtual environment manager is virtualenv. Unfortunately, it does not play out that well with the new M1 chip. This is mostly because the pip-installable packages often break during their installations on the chip. This is why conda, specifically its miniforge distribution is the recommended package manager for a Mac shipped with M1. You can install it from here. This installs Python 3.8.
To install OpenCV (with Java support) through Homebrew, you need to edit the opencv formula in Homebrew, to add support for Java:brew edit opencvIn the text editor that will open, change the line:-DBUILD_opencv_java=OFFin-DBUILD_opencv_java=ONthen, after saving the file, you can effectively install OpenCV:brew install --build-from-source opencv
After the installation of OpenCV, the needed jar file and the dylib library will be located at /usr/local/Cellar/opencv/3.x.x/share/OpenCV/java/, e.g., /usr/local/Cellar/opencv/3.3.1/share/OpenCV/java/.
Now press Configure and use the default compilers for Unix Makefiles. Please, be sure to have installed a C/C++ compiler.In the Ungrouped Entries group, insert the path to the Apache Ant executable (e.g., /apache-ant-1.9.6/bin/ant).In the BUILD group, unselect: 2b1af7f3a8