Ubuntu, how to install OpenCV for python3?
Well this will be a lengthy answer, so let's start :
Step 1: Install prerequisites : Upgrade any pre-installed packages:
$ sudo apt-get update
$ sudo apt-get upgrade
Install developer tools used to compile OpenCV 3.0:
$ sudo apt-get install build-essential cmake git pkg-config
Install libraries and packages used to read various image and videos formats from disk:
$ sudo apt-get install libjpeg8-dev libtiff5-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
Install GTK so we can use OpenCV’s GUI features:
$ sudo apt-get install libgtk2.0-dev
Install packages that are used to optimize various functions inside OpenCV, such as matrix operations:
$ sudo apt-get install libatlas-base-dev gfortran
Step 2: Setup Python (Part 1)
Let’s download pip , a Python package manager, installed for Python 3:
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python3 get-pip.py
Let’s use our fresh pip3 install to setup virtualenv and virtualenvwrapper :
$ sudo pip3 install virtualenv virtualenvwrapper
Now we can update our ~/.bashrc file (place at the bottom of the file):
# virtualenv and virtualenvwrapper
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
$ source ~/.bashrc
$ mkvirtualenv cv
Step 2: Setup Python (Part 2)
we’ll need to install the Python 3.4+ headers and development files:
$ sudo apt-get install python3.4-dev
OpenCV represents images as NumPy arrays, so we need to install NumPy into our cv virtual environment:
$ pip install numpy
Step 3: Build and install OpenCV 3.0 with Python 3.4+ bindings
$ cd ~
$ git clone https://github.com/opencv/opencv.git
$ cd opencv
$ git checkout 3.0.0
$ cd ~
$ git clone https://github.com/opencv/opencv_contrib.git
$ cd opencv_contrib
$ git checkout 3.0.0
Time to setup the build:
$ cd ~/opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..
Let's start OpenCV compile process :
$ make -j4
Assuming OpenCV 3.0 compiled without error, you can now install it on your system:
$ sudo make install
$ sudo ldconfig
Step 4: Sym-link OpenCV 3.0
If you’ve reached this step, OpenCV 3.0 should now be installed in /usr/local/lib/python3.4/site-packages/
.
Here, our OpenCV bindings are stored under the name cv2.cpython-34m.so
However, in order to use OpenCV 3.0 within our cv virtual environment, we first need to sym-link OpenCV into the site-packages directory of the cv environment, like this: (Be sure to take note of cv2.cpython-34m.so
)
$ cd ~/.virtualenvs/cv/lib/python3.4/site-packages/
$ ln -s /usr/local/lib/python3.4/site-packages/cv2.cpython-34m.so cv2.so
Notice how I am changing the name from cv2.cpython-34m.so to cv2.so — this is so Python can import our OpenCV bindings using the name cv2 .
Step 5: Test out the OpenCV 3.0 and Python 3.4+ install
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'3.0.0'
Hope that helps. Also, credit to Adrian Rosebrock on his post. It worked for me as a charm.
I found this:
https://pypi.python.org/pypi/opencv-python
OpenCV on wheels
'Unofficial OpenCV packages for Python.'
Installation was painless for Ubuntu 16.04
pip3 install opencv-python
Check the installation
python3
Python 3.5.2 (default, Nov 17 2016, 17:05:23)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'3.2.0'
Not sure why this wasn't mentioned. Perhaps it is newly available?
Using conda inside a python3 environment:
First install conda in a python3 environment and activate it if you haven't yet:
conda create --name py3k python=3
source activate py3k
Now you can install opencv in the conda environment:
pip install pillow
conda install -c menpo opencv3=3.1.0
To import in Python:
import cv2
Assuming that you installed Python3.x, I resolved it using the following:
1: Install side packages required for OpenCV with Ubuntu (only validated for: Ubuntu 16.04):
apt-get update
apt-get install -y libglib2.0.0 libsm6
apt-get install libxext6
apt-get install -y libxrender-dev
2: Install OpenCV on python3.x:
pip3 install opencv-contrib-python