Merge pull request #10056 from akhilesh-k:master
Added Python setup docs for Ubuntu Machines (#10056)
This commit is contained in:
parent
ba940dec38
commit
fcdd833059
@ -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__)
|
||||
```
|
||||
@ -15,3 +15,8 @@ Introduction to OpenCV {#tutorial_py_table_of_contents_setup}
|
||||
|
||||
Set Up
|
||||
OpenCV-Python in Fedora
|
||||
|
||||
- @subpage tutorial_py_setup_in_ubuntu
|
||||
|
||||
Set Up
|
||||
OpenCV-Python in Ubuntu
|
||||
|
||||
Loading…
Reference in New Issue
Block a user