OpenCV is an open source C++ library for real time image processing and computer vision applications, originally developed by Intel and now supported by Willow Garage. The primary interface of OpenCV is C++ but also has C, python, Java interfaces. It is optimized for Intel processing and is available for OS like Mac, Linux, Windows, Android and iOS. This is free for both commercial and non-commercial use. OpenCV has modular structure and the main modules of openCV are listed below:

  1. core
  2. highgui
  3. imgproc
  4. video
  5. objdetect

    Here, ‘core’ is the basic module and has basic image processing functions. The next one, ‘highgui’ provides user interface capabilities, image and video capturing, mouse events, video codec etc. For advance UI capabilities, you can use Qt. ‘imgproc’ includes algorithm like image filtering, transformation, color space conversion etc. ‘video’ is video analysis tool and includes the algorithms like object tracking, background subtraction and the last one ‘objdetect’ provides the algorithms like object detection and recognition.


    • Install the Dependencies
sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libtiff4-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
    • Download OpenCV 3.0.0 alpha
mkdir opencv
cd opencv
wget -O
    • Install OpenCV
cd opencv-3.0.0-alpha
mkdir build
cd build
make -j $(nproc)
sudo make install
    • Finishing installation

To get OpenCV working properly, we need to tell Ubuntu:

sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/'
sudo ldconfig

In the next post, we will start with basic image processing operations.


Published by


I am the one who discover myself daily through reading, writing, interacting with people and expressing my thoughts to inspire them if I would be able to bring a little change to the society through my work. I write blogs, participate in various social activities and want to be a Professional Speaker. Currently, I am pursuing my post graduation in Computer Applications from Guru Nanak Dev Engineering College, Ludhiana and I’m very much active in many technical & social communities.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s