Mac os 10.8.2 opencv latest xcode command line tool latest gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. Build 5658) (LLVM build 2336.11.00) brew version 0.9.4 I have installed openCV with homebrew, and setup paths for libraries. OpenCV for Mac focuses mainly towards real-time image processing, as such, if it finds Intel's Integrated Performance Primitives on the system, it will use these commercial optimized routines to accelerate itself.
Import Cv2 Error
OpenCV is the world’s most popular computer vision library and it’s used extensively by researchers and developers around the world. OpenCV has been around for a while now and they add something new and interesting with every new release. One of the main additions of OpenCV 3 is “opencv_contrib” which contains a lot of cutting edge algorithms for feature descriptors, text detection, object tracking, shape matching, and so on. They have greatly improved Python support in this release as well. Since OpenCV is available on almost all the popular platforms, this version looks very promising. Let’s see how to install OpenCV 3 with Python support on Mac OS X.
CMake: Make sure you have cmake. If you don’t, you can download it from here. It’s a dmg file, so you can just download it and run the installer.
Install Python using Homebrew: This is an important step! Homebrew is a package manager for OS X that makes our lives easier in many different ways. Instead of using system Python, we need to use brewed Python (this is basically Python installed using Homebrew). If you don’t have Homebrew, you can install it using the following command:
Now that Homebrew is installed, let’s update it and install Python:
Open up your ~/.profile file and add the following line:
We need to reload the file to update the environment variables. Run the following command to do it:
Let’s confirm that you are using brewed Python. Run the following command from your terminal:
If you see “/usr/local/bin/python” printed on your terminal, you can proceed.
Download OpenCV 3.0.0: You can download it from here.
Download “opencv_contrib”: As discussed earlier, we can use the latest computer vision algorithms from “opencv_contrib”. It is basically a repository that contains state of the art algorithms. Bear in mind that some of them are not free for commercial use, but it is great tool to learn new algorithms. Download opencv_contrib from here.
Install Opencv Mac Os
We are now ready to build. Run the following commands from you terminal:
Let’s take a moment to understand what these flags mean exactly:
- CMAKE_BUILD_TYPE=RELEASE : We are telling cmake that we are building a “release” version of OpenCV.
- CMAKE_INSTALL_PREFIX : This is the directory where OpenCV 3.0.0 will be installed
- PYTHON2_LIBRARY : This is the path to your brewed Python (Hombrew installation of Python)
- PYTHON2_INCLUDE_DIR : This is the path to Python header files for compilation.
- INSTALL_C_EXAMPLES : This flag indicates that the C/C++ examples need to be installed after compilation.
- INSTALL_PYTHON_EXAMPLES : This flag indicates that the Python examples need to be installed after compilation.
- BUILD_EXAMPLES=ON : This flag indicates that we want to compile the included OpenCV examples.
- OPENCV_EXTRA_MODULES_PATH : This flag indicates that OpenCV should compile the extra modules (opencv_contrib) that we downloaded earlier.
Let’s go ahead and install OpenCV 3.0.0. Make sure you are inside the directory “/path/to/opencv-3.0.0/build” and run the following commands:
The “-j4” flag indicates that it should use 4 cores. We are not done yet! Let’s set the library path:
If you want to make it permanent, just add the following line in your “~/.profile” file:
We need to copy the pkg-config file “opencv.pc” to “/usr/local/lib/pkgconfig” and name it “opencv3.pc” so that it doesn’t conflict with our existing OpenCV 2.4.x config file:
We also need to update our PKG_CONFIG_PATH environment variable to make sure it knows where opencv3.pc is located. Open up your “~/.profile” file and add the following line:
Reload your “~/.profile” file.
Let’s see if OpenCV with C++ is working:
If you see “Welcome to OpenCV 3.0.0” printed on the terminal, you are good! Let’s check the OpenCV-Python version:
You should see “3.0.0” printed on the terminal. If you see that, then you are done! You have successfully installed OpenCV 3 with Python support on Mac OS X. Let’s check if it’s working by using something that exists in OpenCV 3.0.0 but not in OpenCV 2.4.9. Go into Python shell by typing “python” in your terminal and run the following commands:
If the above line doesn’t throw an error, then you are all set! You have now successfully verified your OpenCV 3 installation with Python support.
In this post, we will provide step by step instructions for installing OpenCV 3.3.0 (C++ and Python) on MacOS and OSX.
Step 1: Install XCode
Install XCode from App Store.
If XCode available on App Store is not compatible with your OS:
- Find XCode version compatible to your OS from this table https://en.wikipedia.org/w/index.php?title=Xcode#Version_comparison_table
- Go to this webpage https://developer.apple.com/download/more/
- Login if you have apple developer account else create your account and login.
- Search for xcode and download the version compatible to your OS.
- Install XCode.
- After installation open XCode, and accept xcode-build license when it asks.
Step 2: Install Homebrew
Launch a terminal from Launchpad. From this step onward, all commands will be run in the terminal.
Step 3: Install Python 2 and Python 3
Python version (2.6 or 2.7, 3.5 or 3.6) installed on your machine is required to determine path of Python’s site-packages. It will be used later.
NOTE : Recently Homebrew made some changes in Python formula. Earlier homebrew used to install python2 as /usr/local/bin/python. Now it follows these rules:
- Install python2 at /usr/local/bin/python2
- Install python3 at /usr/local/bin/python3
- python command will point to /usr/bin/python. This is the python distribution which comes with your OS and not installed by Homebrew.
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.
This step is recommended not just for this course but in general to keep the python installation clean.
Step 4: Install Python libraries in a Virtual Environment
We will use Virtual Environment to install Python libraries. It is generally a good practice in order to separate your project environment and global environment.
Step 5: Install OpenCV
Step 5.1 : Compile & Install OpenCV
Note: Homebrew recently moved many popular formulae to homebrew-core.
Earlier you can install OpenCV 2 using formula name opencv and OpenCV 3 using formula name opencv3.
They have now renamed opencv3 to opencv and opencv to [email protected]
Various options such as –with-qt, –with-tbb etc are also removed in the updated formula and CUDA support is also dropped.
You can check these github issues 15853, 6126, 16640, 5996
to read more about it.
Homebrew has also made it compulsory to compile and install Python bindings for both Python 2 and Python 3. So if you don’t have Python 3 installed, Homebrew will install it while installing opencv.
Step 5.2 : Add OpenCV’s site-packages path to global site-packages
When brew is done compiling and installing OpenCV3, we will update path of site-packages directory which contains cv2.so file to Homebrew Python’s site-packages directory. Depending upon the Python version you have (2.6/2.7 or 3.5/3.6) these paths would be different.
Step 6: Make OpenCV3 Python symlink in our virtual environment
Path to OpenCV’s Python library will be different depending upon which Python version you have. Double check the exact path and filename on your machine. Use this command to find out the path on your machine.
Step 7: Test OpenCV3
Now you can exit from Python virtual environment.
Now whenever you are going to run Python scripts which use OpenCV you have to activate the virtual environment we created using workon command.
Subscribe & Download Code
If you liked this article and would like to download code (C++ and Python) and example images used in all posts of this blog, please subscribe to our newsletter. You will also receive a free Computer Vision Resource Guide. In our newsletter, we share OpenCV tutorials and examples written in C++/Python, and Computer Vision and Machine Learning algorithms and news.