What’s OpenCV?
Ahhh, computer vision, such a cool field! Lately, I’ve been trying to become more knowledgeable about CV and image processing in python. OpenCV (CV = ‘computer vision’) is an excellent open source computer vision software library written in C++ that supports C++, C, Python, Java, and Matlab API’s. OpenCV will supply you with functions that will let you detect faces in images, track objects in a video, and perform any number of image processing tasks.
Developers can program OpenCV using C, C, Python., and Java. on Operating Systems such as Windows., many Linux. distros, Mac OS., iOS. and Android. Although some cameras work better due to better drivers, if a camera has a working driver for the Operating System in use, OpenCV will be able to use it.
I had the same problem; here's what worked for me: conda install -c conda-forge nbconda If you haven't already, do the following to get conda up and running on OS X (taken from docs). Download Miniconda; Download Anaconda; Locate to the director that contains the Miniconda file and run bash Miniconda3-latest-MacOSX-x8664.sh in Terminal; Follow the prompts to install Anaconda. Installing OpenCV on Mac UPDATE: Mavericks users were likely frustrated for the last few weeks trying to install OpenCV. It appears the problem has been fixed, and these instructions should work without issue. Download OpenCV 4.5.0 for Windows. Fast downloads of the latest free software! Mac OS X, Linux, Android and iOS. Looking for the Mac version of OpenCV. How to Install OpenCV on Mac OS with PYTHON This is a step-by-step tutorial on how to install OpenCV for your Mac computer. Install guide: https://kirr.co/uu.
The only problem is: how the hell do I install OpenCV so that I can use it in conjunction with a Jupyter notebook? Let’s be honest, most likely you’re either you’re using a Jupyter notebook, Spyder, or the ipython terminal (if you’re a real sadist) to test your python code. And especially if you’re coding for image processing, you’re going to want to view your progress without having (a) a million separate images open and (b) having to wait for Spyder to inevitably crash. That’s the beauty of a Jupyter notebook - when you’re using it with Matplotlib, you can just display your images and videos in a living document!
For me, my ideal OpenCV situation would be for me to be able to simply type and evaluate the following
import
statements with zero errors or package conficts:Problems with traditional installation methods
There are many ways to install OpenCV. The standard approach is to download it from the OpenCV website and then compile and install OpenCV using the software building utility “CMake” all within a virutal Python environment. I’ve gone down this route according to Adrian Rosebrock’s fabulous installation walkthrough, and if you just want to have access to OpenCV 3.0, I suggest you consider it. But, at the end of the day, there are even more steps required after Adrian’s 9 steps to get OpenCV compatible with a Jupyter notebook. Other installation walkthroughs I’ve found tend to be generally convoluted and assume that you have Homebrew, XCode, maybe MacPorts, or just experience in general with installing and building software packages. Wouldn’t it be great if we could just run something analogous to
pip install opencv
?If you’re like me (maybe you’re not) I often think that
pip install
‘ing a Python package is the same thing as R’s install.packages
function - while we get similar functionality, R packages come with the luxury of basically never interfering with other R package dependencies! If one package needs a newer or older version of some other package you’ve already installed, install.packages
will most likely just take care of everything for you. Python packages, on the other hand, will often have dependencies on specific versions of other packages, so if you pip install
one package, other package may fail to import because their dependent packages have been updated. That’s why we use virtual environments; my favorite method for creating and running virtual environments is with Anaconda, a Python distribution that comes with Sklearn, Scipy, NumPy, Jupyter notebook, and most of the other essential tools a data scientist needs when using Python.Overall, I installed OpenCV cleanly in just a few steps:
- Install Anaconda, make Anaconda’s Python your system’s default Python (skip if you already have this).
- Create a virtual environment.
- Make sure all Conda packages are up-to-date.
- Run
conda install -c https://conda.binstar.org/menpo opencv
- Test.
(1) Install Anaconda. (Skip if you already have Anaconda).
First off, I’m still a python 2 guy. Yeah, there’s python 3, but I grew up on Py 2.7 and it’ll take a lot to pry it from my cold, dead hands. So I have a python 2.7 Anaconda environment running on my computer. Your choice.
I went to the Anaconda downloads page and got the Python 2.7 Mac OS X 64-Bit command-line installer, so that we can install everything from Terminal.
After downloading that, navigate to your Downloads directory (if you’re new to the Terminal, just open the Terminal application and type
cd $HOME/Downloads
).While still in Terminal, enter
Awesome, now you’ve downloaded and installed Anaconda.
(1.b) Make Anaconda your default python installation.
For data science, Anaconda rules. Ideally, when you’re in Terminal and you type
python
, you’d like for the Anaconda python installation to be the default python that starts running instead of what comes installed by default on a typical Macbook. Why? Well, using Anaconda we can just import NumPy, import any Scikit Learn funciton, import Matplotlib, etc.To see what I’m talking about, type this in Terminal:
If you get
/usr/bin/python2.7
, you’re not using the Anaconda installation. To change this, you’ll need to change your bash_profile so that the default path to the python installation in the Anaconda directory. If you don’t have a .bash_profile file in your home directory, do this:This just created that file. Next, open the .bash_profile page and add this line:
export PATH=”~/anaconda/bin:$PATH”
Finally, you have to make your system update python path the with your new settings, so in Terminal type
(2) Make an Anaconda virtual environment
Anaconda has great documentation if you ever get lost using their tools, but otherwise they’re pretty easy to use. To create a virtual python 2.7 environment called “py27,” run this:
To enter this virtual environment, we use Conda’s
source activate
function:If the environment is running properly, you should see
(py27)
preceding the $
sign at the command prompt in Terminal. In this environment we have access to Anaconda’s python package installer, conda install
, so that we can install packages at will in this “bubble” without messing up dependencies (basically breaking python) in any other environment. Side note: if you want to exit this py27 environment, just enter source deactivate
in Terminal.(3) Update packages
Just to be safe, I updated all of my python packages while inside of my py27 environment. It’s ridiculously easy with Anaconda:
(4) Install OpenCV
With Anconda we can install python packages within a specific Conda environment using
conda install
instead of pip
, the typical python package management system.Next, I would normally suggest just typing
conda install opencv
at the command prompt, but this (unsurprisingly) lead me to a package conflict with NumPy! Yep, the version of OpenCV that Conda installed relied on a specific release of the NumPy package that was actually in conflict with the one that was just updated in step (3). OK, to be honest, maybe I brought that upon myself with updating the packages the way I did. But, there’s a work around that functions with this latest update of NumPy: install OpenCV directly from the Menpo project:(5) Fire up a Jupyter notebook and test!
The Anaconda environment should now have everything we need to start analyzing images in a self-contained little Jupyter notebook. Test it out. First, launch a Jupyter notebook from the terminal:
Opencv For Windows Download
Next, see if everything is installed correctly; hopefully you’ll be able to run this sans errors:
If successful, you’ll be able to readily access OpenCV functions with the package prefix
cv2
!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.
Prerequisites
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.
Download Opencv Raspberry Pi
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.
Installation
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:
Download Opencv Conda
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.
Mac Install Opencv
———————--—————-—————————————————————–