OpenCV 3 – Getting started with Image processing
4.1 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
60 students enrolled
Wishlisted Wishlist

Please confirm that you want to add OpenCV 3 – Getting started with Image processing to your Wishlist.

Add to Wishlist

OpenCV 3 – Getting started with Image processing

Videos to help you build computer vision applications that make the most of the popular C++ library OpenCV 3
4.1 (5 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
60 students enrolled
Created by Packt Publishing
Last updated 6/2017
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 2.5 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Install OpenCV library
  • Access pixel values
  • Scan an image with pointers and neighbor access
  • Compare colors using the strategy design pattern
  • Segment an image with the GrabCut algorithm
  • Represent colors with hue, saturation, and brightness
  • Compute and Equalize image histogram
  • Retrieve similar images using the histogram comparison
View Curriculum
  • This course follows a problem-solution approach to the image processing tasks you’ll come across every day while working with OpenCV.

Making your applications see has never been easier with OpenCV. With it, you can teach your robot how to follow your cat, write a program to correctly identify the members of One Direction, or even help you find the right colors for your redecoration. This course provides a complete introduction to the OpenCV library and explains how to build your first computer vision program. You will be presented with a variety of computer vision algorithms and exposed to important concepts in image analysis that will enable you to build your own computer vision applications.

This video helps you to get started with the library, and shows you how to install and deploy the OpenCV library to write effective computer vision applications following good programming practices. You will learn how to read and display images. It also introduces the basic OpenCV data structures.

Moving on, you will see how to manipulate pixels, and how an image can be read. This section explores different methods to scan an image in order to perform an operation on each of its pixels.

After that, you will find out how to process the colors of an image, where you’ll be presented with various object-oriented design patterns that will help you to build better computer vision applications. This section also shows you the concept of colors in images.

Finally, you’ll discover how to count pixels with histograms, how to compute image histograms, and how they can be used to modify an image. This section presents different applications based on histograms so you can achieve image segmentation, object detection, and image retrieval. 

About the Author

Robert Laganiere is a professor at the School of Electrical Engineering and Computer Science of the University of Ottawa, Canada. He is also a faculty member of the VIVA research lab and is the co-author of several scientific publications and patents in content based video analysis, visual surveillance, driver-assistance, object detection, and tracking.

Robert authored the OpenCV2 Computer Vision Application Programming Cookbook in 2011 and co-authored Object Oriented Software Development published by McGraw Hill in 2001. He is also a consultant in computer vision and has assumed the role of Chief Scientist in a number of start-up companies such as Cognivue Corp, iWatchlife, and Tempo Analytics.

Robert has a Bachelor of Electrical Engineering degree from Ecole Polytechnique in Montreal (1987) and MSc and PhD degrees from INRS-Telecommunications, Montreal (1996). You can visit the author’s website at

Who is the target audience?
  • This course is appropriate for novice C++ programmers who want to learn how to use the OpenCV library to build computer vision applications. It is also suitable for professional software developers who wants to be introduced to the concepts of computer vision programming. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision.
Compare to Other Image Processing Courses
Curriculum For This Course
23 Lectures
Playing with Images
5 Lectures 39:37

This video gives an overview of the entire course.

Preview 03:02

This video will show you how to install the library on your machine.

Installing the OpenCV Library

OpenCV is about processing images, this task will show you how to perform the most fundamental operations needed in the development of imaging applications.

Loading, Displaying, and Saving Images

It is used to manipulate images and matrices (in fact, an image is a matrix from a computational and mathematical point of view). Since you will be using this data structure extensively in your application development processes, it is imperative that you become familiar with it. 

Exploring the cv::Mat Data Structure

Sometimes, a processing function needs to be applied only to a portion of an image. OpenCV incorporates an elegant and simple mechanism to define a sub region in an image and manipulate it as a regular image. 

Defining Regions of Interest
Manipulating Pixels
7 Lectures 36:58

In order to access each individual element of a matrix, you just need to specify its row and column numbers. The corresponding element, which can be a single numerical value or a vector of values in the case of a multi-channel image, will be returned.

Preview 05:48

In most image-processing tasks, you need to scan all pixels of the image in order to perform a computation. Considering the large number of pixels that will need to be visited, it is essential that you perform this task in an efficient way.

Scanning an Image with Pointers

Iterators are specialized classes that are built to go over each element of a collection, hiding how the iteration over each element is specifically done for a given collection. This application of the information-hiding principle makes scanning a collection easier and safer.

Scanning an Image with Iterators

When you write an image-processing function, efficiency is often a concern. When you design your function, you will frequently need to check the computational efficiency of your code in order to detect any bottleneck in your processing that might slow down your program.

Writing Efficient Image-Scanning Loops

In image processing, it is common to have a processing function that computes a value at each pixel location based on the value of the neighboring pixels. When this neighborhood includes pixels of the previous and next lines, you then need to simultaneously scan several lines of the image.

Scanning an Image with Neighbor Access

Images can be combined in different ways. Since they are regular matrices, they can be added, subtracted, multiplied, or divided. OpenCV offers various image arithmetic operators, and their use is shown in this video

Performing Simple Image Arithmetic

The pixel values are not changed by this process; it is rather the position of each pixel that is remapped to a new location. This is  useful in order to create special effects on an image or to correct image distortions caused, for example, by a lens.

Remapping an Image
Processing the Colors of an Image
4 Lectures 37:07

Let's say we want to build a simple algorithm that will identify all of the pixels in an image that have a given color. For this, the algorithm has to accept an image and a color as input and will return a binary image showing the pixels that have the specified color. The tolerance with which we want to accept a color will be another arameter

to be specified before running the algorithm.

Preview 16:03

Objects often have distinctive colors, and these ones can often be extracted by identifying areas of similar colors. OpenCV proposes an implementation of a popular algorithm for image segmentation: the GrabCut algorithm.

Segmenting an Image with the GrabCut Algorithm

Computing the distance between the colors using the RGB color space is not the best way to measure the similarity between two given colors. Indeed, RGB is not a perceptually uniform color space. This means that two colors at a given distance might look very similar, while two other colors separated by the same distance might look very different.

Converting Color Representations

A color space based on the concept of hue, saturation, and brightness has then been introduced to help users to specify the colors using properties that are more intuitive to them. In this video, we will explore the concepts of hue, saturation, and brightness as a means to describe colors.

Representing Colors with Hue, Saturation, and Brightness
Counting the Pixels with Histograms
7 Lectures 41:40

A histogram is a simple table that gives you the number of pixels that have a given value in an image. The histogram of a gray-level image will, therefore, have 256 entries.

Preview 08:16

We will learn how we can use a simple mapping function, represented by a look-up table, to modify the pixel values of an image. As we will see, look-up tables are often produced from histogram distributions.

Applying Look-Up Tables to Modify the Image's Appearance

One possible way to improve the quality of an image could therefore be to make equal use of all available pixel intensities. This is the idea behind the concept of histogram equalization that is making the image histogram as flat as possible.

Equalizing the Image Histogram

You will learn how the concept of histogram backprojection can be advantageously used to detect specific image content.

Backprojecting a Histogram to Detect Specific Image Content

We will learn about mean shift algorithm to find the exact object location.

Using the Mean Shift Algorithm to Find an Object

Content-based image retrieval is an important problem in computer vision. It consists of finding a set of images that present content that is similar to a given query image.

Retrieving Similar Images Using Histogram Comparison

Now, suppose you have to compute several such histograms over multiple regions of interest inside your image. All these computations could rapidly become very costly. In such a situation, there is a tool that can drastically improve the efficiency of counting pixels over image sub regions: the integral image.

Counting Pixels with Integral Images
About the Instructor
Packt Publishing
3.9 Average rating
8,249 Reviews
59,034 Students
687 Courses
Tech Knowledge in Motion

Packt has been committed to developer learning since 2004. A lot has changed in software since then - but Packt has remained responsive to these changes, continuing to look forward at the trends and tools defining the way we work and live. And how to put them to work.

With an extensive library of content - more than 4000 books and video courses -Packt's mission is to help developers stay relevant in a rapidly changing world. From new web frameworks and programming languages, to cutting edge data analytics, and DevOps, Packt takes software professionals in every field to what's important to them now.

From skills that will help you to develop and future proof your career to immediate solutions to every day tech challenges, Packt is a go-to resource to make you a better, smarter developer.

Packt Udemy courses continue this tradition, bringing you comprehensive yet concise video courses straight from the experts.