Read in 3 minutes

last updated 

How to install OpenCV on Ubuntu 18.04

This tutorial explains how to install OpenCV on Ubuntu 18.04.

OpenCV (Open Source Computer Vision Library) is an open source computer vision library and has bindings for C++, Python and Java . It is used for a very wide range of applications including medical image analysis, stitching street view images, surveillance video, detecting and recognizing faces, tracking moving objects, extracting 3D models and much more.

OpenCV can take advantage of multi-core processing and features GPU acceleration for real-time operation.

We will show you two different ways to install OpenCV on Ubuntu. Choose one of the installation options that will work best for you.

Install OpenCV from the Ubuntu repository

The OpenCV package is available from the Ubuntu 18.04 distribution repository. At the time of writing, the version in the repositories is 3.2 which may not always be the latest version.

To install OpenCV from the Ubuntu 18.04 repositories, follow these steps:

  1. Install OpenCV

    Refresh the packages index and install the OpenCV package by typing:

    sudo apt update
    sudo apt install python3-opencv

    The command above will install all packages necessary to run OpenCV.

  2. Verify the OpenCV installation

    To verify the installation we will import the cv2 module and print the OpenCV version:

    python3 -c "\
    import cv2
    print(cv2.__version__)"
    3.2.0

The default Python version in Ubuntu 18.04 LTS is version 3.6. If you want to install OpenCV with python 2 bindings install the python-opencv package.

Install OpenCV from source

Building the OpenCV library from source is the recommended way of installing OpenCV. It will be optimized to your particular system and you will have complete control over the build options.

To install the latest OpenCV version from the source, follow these steps:

  1. Installing the necessary packages

    The following commands will install all required and optional dependencies:

    sudo apt install build-essential cmake git pkg-config libgtk-3-dev
    sudo apt install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev
    sudo apt install libjpeg-dev libpng-dev libtiff-dev gfortran openexr
    sudo apt install python3-dev python3-numpy libtbb2 libtbb-dev libdc1394-22-dev
  2. Cloning the OpenCV source code

    Create a directory which will hold the repositories and clone the OpenCV’s and OpenCV contrib repositories with the following commands:

    mkdir ~/opencv_build && cd ~/opencv_build
    git clone https://github.com/opencv/opencv.git
    git clone https://github.com/opencv/opencv_contrib.git

    At the time of writing, the default version in the github repositories is version 4.0.0. If you want to install any previous version cd to both opencv and opencv_contrib directories and run git checkout <opencv-version>

  3. Configuring OpenCV with CMake

    Once the download is completed create a temporary build directory, and switch to it:

    cd ~/opencv_build/opencv
    mkdir build && cd build

    Set up the OpenCV build with CMake:

    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_build/opencv_contrib/modules \
        -D BUILD_EXAMPLES=ON ..

    Once the CMake build system is finalized you will see something like bellow:

  4. Compiling OpenCV

    Modify the -j flag according to your processor. If you do not know the number of cores your processor you can find it by typing nproc. My system has 8 cores, so I am using the -j8 flag.

    Start the compilation process:

    make -j8

    The compilation may take several minutes or more, depending on your system configuration. Once it is completed you will see something like bellow:

  5. Installing OpenCV

    Once the compile process is completed install OpenCV with:

    sudo make install
  6. Verifying OpenCV installation

    To check whether OpenCV has been installed successfully type the following command and you should see the OpenCV version:

    pkg-config --modversion opencv
    4.0.0

Conclusion

We have shown you two different ways to install OpenCV on your Ubuntu 18.04 server. The method you choose depends on your requirements and preferences. Even though installing the packaged version from the Ubuntu repository is easier, building OpenCV from source gives you more flexibility and it should be your first option when installing OpenCV.

If you have any questions or feedback, feel free to comment below.