OpenCV(Open Source Computer Vision Library) is an open-source computer vision library with bindings for C++, Python, and Java and supports all major operating systems. It can take advantage of multi-core processing and features GPU acceleration for real-time operation.
OpenCV is used for a 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.
This article describes how to install OpenCV on Ubuntu 20.04. To install the latest stable version of OpenCV from source, scroll down to the Installing OpenCV from the Source section of this tutorial. Choose the installation method that works best for you.
Table of Contents
Prerequisites
- You must be registered with Alibaba Cloud.
- You must have added and verified your payment method.
- If you are a new user, after payment method verification you can claim free $450 – $1300 credits. You can register new account and claim your free credits.
- To setup up your ECS for the first time, you can refer to this tutorial or quick-start guide.
- Domain registration is recommended for setting up FQDN hostname of your server. But if you are willing to use IP address directly, you may skip this.
- If you have registered domain with any 3rd party, you may transfer into Alibaba Cloud.
- If you are using the domain name, remember to point your domain name to IP address of your server.
- You should set up your server’s hostname.
- Access to VNC console in your Alibaba Cloud or SSH client installed in your PC.
- Login as root user and create a user with sudo privileges.
Installing OpenCV from the Ubuntu Repository
OpenCV is available for installation from the default Ubuntu 20.04 repositories. To install it run:
$ sudo apt update $ sudo apt install libopencv-dev python3-opencv
The command above will install all packages necessary to run OpenCV.
Verify the installation by importing the cv2 module and printing the OpenCV version:
python3 -c "import cv2; print(cv2.__version__)"
At the time of writing, the version in the repositories is 4.2:
Output 4.2.0
Installing OpenCV from the Source
Building the OpenCV library from the source allows you to have the latest available version. It will be optimized for your particular system, and you will have complete control over the build options. This is the recommended way of installing OpenCV.
Perform the following steps to install the latest OpenCV version from the source:
01. Install the build tools and dependencies:
$ sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev libopenexr-dev \ libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev
02. Clone the OpenCV’s and OpenCV contrib repositories:
$ 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.3.0. If you want to install an older version of OpenCV, cd to both opencv and opencv_contrib directories and run git checkout <opencv-version>
03. Once the download is complete, create a temporary build directory, and navigate to it:
$ cd ~/opencv_build/opencv $ mkdir -p 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_GENERATE_PKGCONFIG=ON \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \ -D BUILD_EXAMPLES=ON ..
The output will look something like below:
Output -- Configuring done -- Generating done -- Build files have been written to: /home/vagrant/opencv_build/opencv/build
04. Start the compilation process:
$ make -j8
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.
The compilation may take several minutes or more, depending on your system configuration.
05. Install OpenCV with:
$ sudo make install
06. To verify the installation, type the following commands and you should see the OpenCV version.
C++ bindings:
$ pkg-config --modversion opencv4
Output 4.3.0
Python bindings:
python3 -c "import cv2; print(cv2.__version__)"
Output 4.3.0-dev
Conclusion
We have shown you two different ways to install OpenCV on your Ubuntu 20.04 machine. 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.
bereket
July 27, 2021 at 2:58 pmHello,
I installed using the instructions provided. I didn’t get any error, it built totally fine. However, in the verification step, I get errors.
For C++,
anjulo@imac:~$ pkg-config –modversion opencv4
Package opencv4 was not found in the pkg-config search path.
Perhaps you should add the directory containing `opencv4.pc’
to the PKG_CONFIG_PATH environment variable
No package ‘opencv4’ found
For Python3,
anjulo@imac:~$ python3 -c “import cv2; print(cv2.__version__)”
Traceback (most recent call last):
File “”, line 1, in
File “/usr/local/lib/python3.8/dist-packages/cv2/__init__.py”, line 102, in
bootstrap()
File “/usr/local/lib/python3.8/dist-packages/cv2/__init__.py”, line 90, in bootstrap
import cv2
ImportError: libopencv_hdf.so.4.5: cannot open shared object file: No such file or directory
Any way to solve this problem?
Arslan ud Din Shafiq
October 4, 2021 at 11:28 amYou will have to install libopencv_hdf.so library first.