Table of Contents
OpenCV is a powerful open-source computer vision library that enables developers to perform complex image and video processing tasks in their applications. Installing OpenCV on Ubuntu is a straightforward process that requires a few simple steps.
In this article, we will provide a step-by-step guide on how to install OpenCV on Ubuntu. We will cover the prerequisites required for the installation, the installation process itself, and the necessary steps to verify that OpenCV is correctly installed and configured.
By following this guide, developers will be able to install OpenCV on their Ubuntu machine and start working with this powerful computer vision library in their applications. Whether you are a beginner or an experienced developer, this guide will provide you with the knowledge and resources you need to install OpenCV and start developing innovative computer vision applications.
Here are the necessary prerequisites required to install OpenCV on Ubuntu:
Install Development tools
To install OpenCV on Ubuntu, you will need development tools such as CMake, GCC, and Git. You can install these tools using apt-get command:
sudo apt-get update sudo apt-get install build-essential cmake git
Install Required libraries
OpenCV has several dependencies that must be installed before building and installing the library. Some of the required libraries include:
- Image I/O libraries: libjpeg-dev, libpng-dev, libtiff-dev
- Video I/O libraries: libavcodec-dev, libavformat-dev, libswscale-dev, libv4l-dev
- GUI libraries: libgtk2.0-dev, libgtk-3-dev
- Math libraries: libatlas-base-dev, gfortran
You can install these libraries by running the following command in the terminal:
Different methods to install OpenCV on Ubuntu
There are many ways to install OpenCV on Ubuntu. After reviewing the methods, you can choose one for installation.
Method-1: Install from Repository
First update the package list:
$ sudo apt update -y
Install the OpenCV package with the following command:
$ sudo apt install python3-opencv libopencv-dev
python3-opencv are packages related to the OpenCV library, but they serve different purposes.
libopencv-dev is a package that contains the development files and headers required to build applications that use the OpenCV library. It includes the C++ header files, libraries, and other files necessary for developing OpenCV applications. Developers can use this package to build and link their applications with the OpenCV library.
python3-opencv, on the other hand, is a package that provides the Python bindings for the OpenCV library. It allows developers to use OpenCV functions and modules in their Python programs. This package is required if you want to develop OpenCV applications using Python.
It may take some time to install the required dependencies. After installation, you can see the OpenCV version with the following steps:
$ python3 Python 3.10.6 (main, Nov 14 2022, 16:10:14) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 as cv >>> print(cv.__version__) 4.5.4 >>>
OpenCV version 4.5.4 has been successfully installed.
You can also verify if OpenCV has been installed using following commands:
// command 1 # pkg-config --list-all | grep opencv opencv4 OpenCV - Open Source Computer Vision Library // command 2 # pkg-config --cflags --libs opencv4 -I/usr/include/opencv4 -lopencv_stitching -lopencv_alphamat -lopencv_aruco -lopencv_barcode -lopencv_bgsegm -lopencv_bioinspired -lopencv_ccalib -lopencv_dnn_objdetect -lopencv_dnn_superres -lopencv_dpm -lopencv_face -lopencv_freetype -lopencv_fuzzy -lopencv_hdf -lopencv_hfs -lopencv_img_hash -lopencv_intensity_transform -lopencv_line_descriptor -lopencv_mcc -lopencv_quality -lopencv_rapid -lopencv_reg -lopencv_rgbd -lopencv_saliency -lopencv_shape -lopencv_stereo -lopencv_structured_light -lopencv_phase_unwrapping -lopencv_superres -lopencv_optflow -lopencv_surface_matching -lopencv_tracking -lopencv_highgui -lopencv_datasets -lopencv_text -lopencv_plot -lopencv_ml -lopencv_videostab -lopencv_videoio -lopencv_viz -lopencv_wechat_qrcode -lopencv_ximgproc -lopencv_video -lopencv_xobjdetect -lopencv_objdetect -lopencv_calib3d -lopencv_imgcodecs -lopencv_features2d -lopencv_dnn -lopencv_flann -lopencv_xphoto -lopencv_photo -lopencv_imgproc -lopencv_core // command 3 # dpkg -l | grep libopencv ii libopencv-calib3d-dev:amd64 4.5.4+dfsg-9ubuntu4 amd64 development files for libopencv-calib3d4.5d ii libopencv-calib3d4.5d:amd64 4.5.4+dfsg-9ubuntu4 amd64 computer vision Camera Calibration library ii libopencv-contrib-dev:amd64 4.5.4+dfsg-9ubuntu4 amd64 development files for libopencv-contrib4.5d ii libopencv-contrib4.5d:amd64 4.5.4+dfsg-9ubuntu4 amd64 computer vision contrlib library
Method-2: Install from Source Code
For installation from source code, the following packages must first be installed on the system:
$ sudo apt install wget unzip build-essential cmake -y
.zip file is downloaded from the versions published on the OpenCV official github page.
By copying the link of the zip file from the browser, it is written after the wget command and the download is started.
$ wget https://github.com/opencv/opencv/archive/refs/tags/4.7.0.zip --2023-03-21 19:58:05-- https://github.com/opencv/opencv/archive/refs/tags/4.7.0.zip Resolving github.com (github.com)... 18.104.22.168 Connecting to github.com (github.com)|22.214.171.124|:443... connected. HTTP request sent, awaiting response... 302 Found Location: https://codeload.github.com/opencv/opencv/zip/refs/tags/4.7.0 [following] --2023-03-21 19:58:05-- https://codeload.github.com/opencv/opencv/zip/refs/tags/4.7.0 Resolving codeload.github.com (codeload.github.com)... 126.96.36.199 Connecting to codeload.github.com (codeload.github.com)|188.8.131.52|:443... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/zip] Saving to: ‘4.7.0.zip’ 4.7.0.zip [<=> ] 91.17M 764KB/s in 40s 2023-03-21 19:58:46 (2.29 MB/s) - ‘4.7.0.zip’ saved 
Extract from the zip file:
$ unzip 4.7.0.zip
Go to the OpenCV directory:
$ cd opencv-4.7.0/
Create build directory and go to this directory:
$ mkdir build && cd build
$ cmake ../../opencv-4.7.0
$ cmake --build .
The build process may take some time.
$ sudo make install
OpenCV is installed in /usr/local. All files added to OpenCV were copied to the following locations:
- /usr/local/bin - executables
- /usr/local/lib - libraries (.so)
- /usr/local/cmake/opencv4 - cmake package
- /usr/local/include/opencv4 - headers
- /usr/local/share/opencv4 - other files (eg XML-trained digits)
$ ls /usr/local/bin/opencv* /usr/local/bin/opencv_annotation /usr/local/bin/opencv_interactive-calibration /usr/local/bin/opencv_model_diagnostics /usr/local/bin/opencv_version /usr/local/bin/opencv_visualisation
$ /usr/local/bin/opencv_version 4.7.0
Method-3: Install With PIP
Another method for OpenCV installation is to install with Pip. Pip is a python library, package manager that allows you to download and install packages from the (Python Package Index) PyPi repository. First, the pip package is installed on the system:
$ sudo apt install pip
Then the OpenCV installation is started with the help of pip:
$ pip3 install opencv-python Defaulting to user installation because normal site-packages is not writeable Collecting opencv-python Downloading opencv_python-184.108.40.206-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (61.8 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.8/61.8 MB 2.6 MB/s eta 0:00:00 Requirement already satisfied: numpy>=1.17.0 in /usr/local/lib/python3.10/dist-packages (from opencv-python) (1.24.2) Installing collected packages: opencv-python Successfully installed opencv-python-220.127.116.11
Installation completed successfully.
After installation, you can see the OpenCV version with the following steps:
$ python3 Python 3.10.6 (main, Mar 10 2023, 10:55:28) [GCC 11.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cv2 >>> print(cv2.__version__) 4.7.0 >>> exit()
OpenCV version 4.7.0 has been successfully installed.
Note: If you get the error "ImportError: libGL.so.1: cannot open shared object file: No such file or directory" when you import OpenCV into the project, you should install the following package:
sudo apt install libgl1-mesa-glx
In summary, installing OpenCV on Ubuntu involves installing the necessary development tools and libraries, installing the OpenCV package, and verifying the installation. This can be done using the command line and does not require any special configuration or setup. Once installed, you can use OpenCV for a wide range of computer vision and image processing tasks, such as object detection, face recognition, and video analysis. Additionally, if you plan to use OpenCV with Python, you can install the Python bindings for OpenCV to use OpenCV functions and modules in your Python programs. Overall, OpenCV is a powerful and versatile library that can be used for a variety of applications, and installing it on Ubuntu is a simple and straightforward process.
Feel free to comment on any problems you encounter during installation.