mirror of https://github.com/opencv/opencv.git
Merge pull request #10056 from akhilesh-k:master
Added Python setup docs for Ubuntu Machines (#10056)pull/10091/head
parent
ba940dec38
commit
fcdd833059
2 changed files with 170 additions and 0 deletions
@ -0,0 +1,165 @@ |
||||
Install OpenCV-Python in Ubuntu {#tutorial_py_setup_in_ubuntu} |
||||
=============================== |
||||
|
||||
Goals |
||||
----- |
||||
|
||||
In this tutorial We will learn to setup OpenCV-Python in Ubuntu System. |
||||
Below steps are tested for Ubuntu 16.04 (64-bit) and Ubuntu 14.04 (32-bit). |
||||
|
||||
OpenCV-Python can be installed in Ubuntu in two ways: |
||||
- Install from pre-built binaries available in Ubuntu repositories |
||||
- Compile from the source. In this section, we will see both. |
||||
|
||||
Another important thing is the additional libraries required. |
||||
OpenCV-Python requires only **Numpy** (in addition to other dependencies, which we will see later). |
||||
But in this tutorials, we also use **Matplotlib** for some easy and nice plotting purposes (which I feel much better compared to OpenCV). |
||||
Matplotlib is optional, but highly recommended. |
||||
Similarly we will also see **IPython**, an Interactive Python Terminal, which is also highly recommended. |
||||
|
||||
Installing OpenCV-Python from Pre-built Binaries |
||||
------------------------------------------------ |
||||
|
||||
This method serves best when using just for programming and developing OpenCV applications. |
||||
|
||||
Install package [python-opencv](https://packages.ubuntu.com/trusty/python-opencv) with following command in terminal (as root user). |
||||
|
||||
``` |
||||
$ sudo apt-get install python-opencv |
||||
``` |
||||
|
||||
Open Python IDLE (or IPython) and type following codes in Python terminal. |
||||
|
||||
``` |
||||
import cv2 |
||||
print(cv2.__version__) |
||||
``` |
||||
|
||||
If the results are printed out without any errors, congratulations !!! |
||||
You have installed OpenCV-Python successfully. |
||||
|
||||
It is quite easy. But there is a problem with this. |
||||
Apt repositories may not contain the latest version of OpenCV always. |
||||
For example, at the time of writing this tutorial, apt repository contains 2.4.8 while latest OpenCV version is 3.x. |
||||
With respect to Python API, latest version will always contain much better support and latest bug fixes. |
||||
|
||||
So for getting latest source codes preference is next method, i.e. compiling from source. |
||||
Also at some point in time, if you want to contribute to OpenCV, you will need this. |
||||
|
||||
Building OpenCV from source |
||||
--------------------------- |
||||
|
||||
Compiling from source may seem a little complicated at first, but once you succeeded in it, there is nothing complicated. |
||||
|
||||
First we will install some dependencies. |
||||
Some are required, some are optional. |
||||
You can skip optional dependencies if you don't want. |
||||
|
||||
### Required build dependencies |
||||
|
||||
We need **CMake** to configure the installation, **GCC** for compilation, **Python-devel** and |
||||
**Numpy** for building Python bindings etc. |
||||
|
||||
``` |
||||
sudo apt-get install cmake |
||||
sudo apt-get install python-devel numpy |
||||
sudo apt-get install gcc gcc-c++ |
||||
``` |
||||
|
||||
Next we need **GTK** support for GUI features, Camera support (libv4l), Media Support |
||||
(ffmpeg, gstreamer) etc. |
||||
|
||||
``` |
||||
sudo apt-get install gtk2-devel |
||||
sudo apt-get install libv4l-devel |
||||
sudo apt-get install ffmpeg-devel |
||||
sudo apt-get install gstreamer-plugins-base-devel |
||||
``` |
||||
|
||||
### Optional Dependencies |
||||
|
||||
Above dependencies are sufficient to install OpenCV in your Ubuntu machine. |
||||
But depending upon your requirements, you may need some extra dependencies. |
||||
A list of such optional dependencies are given below. You can either leave it or install it, your call :) |
||||
|
||||
OpenCV comes with supporting files for image formats like PNG, JPEG, JPEG2000, TIFF, WebP etc. |
||||
But it may be a little old. |
||||
If you want to get latest libraries, you can install development files for system libraries of these formats. |
||||
|
||||
``` |
||||
sudo apt-get install libpng-devel |
||||
sudo apt-get install libjpeg-turbo-devel |
||||
sudo apt-get install jasper-devel |
||||
sudo apt-get install openexr-devel |
||||
sudo apt-get install libtiff-devel |
||||
sudo apt-get install libwebp-devel |
||||
``` |
||||
|
||||
### Downloading OpenCV |
||||
|
||||
To download the latest source from OpenCV's [GitHub Repository](https://github.com/opencv/opencv). |
||||
(If you want to contribute to OpenCV choose this. For that, you need to install **Git** first) |
||||
|
||||
``` |
||||
$ sudo apt-get install git |
||||
$ git clone https://github.com/opencv/opencv.git |
||||
``` |
||||
|
||||
It will create a folder "opencv" in current directory. |
||||
The cloning may take some time depending upon your internet connection. |
||||
|
||||
Now open a terminal window and navigate to the downloaded "opencv" folder. |
||||
Create a new "build" folder and navigate to it. |
||||
|
||||
``` |
||||
$ mkdir build |
||||
$ cd build |
||||
``` |
||||
|
||||
### Configuring and Installing |
||||
|
||||
Now we have all the required dependencies, let's install OpenCV. |
||||
Installation has to be configured with CMake. |
||||
It specifies which modules are to be installed, installation path, which additional libraries to be used, whether documentation and examples to be compiled etc. |
||||
Most of this work are done automatically with well configured default parameters. |
||||
|
||||
Below command is normally used for configuration of OpenCV library build (executed from build folder): |
||||
|
||||
``` |
||||
$ cmake ../ |
||||
``` |
||||
|
||||
OpenCV defaults assume "Release" build type and installation path is "/usr/local". |
||||
For additional information about CMake options refer to OpenCV @ref tutorial_linux_install "C++ compilation guide": |
||||
|
||||
You should see these lines in your CMake output (they mean that Python is properly found): |
||||
|
||||
``` |
||||
-- Python 2: |
||||
-- Interpreter: /usr/bin/python2.7 (ver 2.7.6) |
||||
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython2.7.so (ver 2.7.6) |
||||
-- numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.8.2) |
||||
-- packages path: lib/python2.7/dist-packages |
||||
-- |
||||
-- Python 3: |
||||
-- Interpreter: /usr/bin/python3.4 (ver 3.4.3) |
||||
-- Libraries: /usr/lib/x86_64-linux-gnu/libpython3.4m.so (ver 3.4.3) |
||||
-- numpy: /usr/lib/python3/dist-packages/numpy/core/include (ver 1.8.2) |
||||
-- packages path: lib/python3.4/dist-packages |
||||
``` |
||||
|
||||
Now you build the files using "make" command and install it using "make install" command. |
||||
|
||||
``` |
||||
$ make |
||||
# sudo make install |
||||
``` |
||||
|
||||
Installation is over. |
||||
All files are installed in "/usr/local/" folder. |
||||
Open a terminal and try import "cv2". |
||||
|
||||
``` |
||||
import cv2 |
||||
print(cv2.__version__) |
||||
``` |
Loading…
Reference in new issue