Learning Path: OpenCV: Real-Time Computer Vision with OpenCV
2.3 (2 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.
70 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Learning Path: OpenCV: Real-Time Computer Vision with OpenCV to your Wishlist.

Add to Wishlist

Learning Path: OpenCV: Real-Time Computer Vision with OpenCV

Harness the power of OpenCV 3 to build practical computer vision projects
2.3 (2 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.
70 students enrolled
Created by Packt Publishing
Last updated 5/2017
Current price: $10 Original price: $200 Discount: 95% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 5.5 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Learn about the computer vision workflows and understand the basic image matrix format and filters
  • Understand the segmentation and feature extraction techniques
  • Learn how to remove backgrounds from a static scene to identify moving objects for video surveillance
  • Use the new OpenCV functions for text detection and recognition with Tesseract
  • Master logistic regression and regularization techniques
  • Solve image segmentation problem using k-means clustering
  • Load models trained with popular deep learning libraries such as Caffe
View Curriculum
  • Knowledge of C++ and Python
  • Some understanding of statistical concepts would be helpful, but is not mandatory

Are you looking forward to developing interesting computer vision applications? If yes, then this Learning Path is for you.

Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.

Computer vision and machine learning concepts are frequently used together in practical projects based on computer vision. Whether you are completely new to the concept of computer vision or have a basic understanding of it, this Learning Path will be your guide to understanding the basic OpenCV concepts and algorithms through amazing real-world examples and projects.

OpenCV is a cross-platform, open source library that is used for face recognition, object tracking, and image and video processing. By learning the basic concepts of computer vision algorithms, models, and OpenCV’s API, you will be able to develop different types of real-world applications.

Starting from the installation of OpenCV on your system and understanding the basics of image processing, we swiftly move on to creating optical flow video analysis and text recognition in complex scenes. You’ll explore the commonly used computer vision techniques to build your own OpenCV projects from scratch. Next, we’ll teach you how to work with the various OpenCV modules for statistical modeling and machine learning. You’ll start by preparing your data for analysis, learn about supervised and unsupervised learning, and see how to use them. Finally, you’ll learn to implement efficient models using the popular machine learning techniques such as classification, regression, decision trees, K-nearest neighbors, boosting, and neural networks with the aid of C++ and OpenCV.

By the end of this Learning Path, you will be familiar with the basics of OpenCV such as matrix operations, filters, and histograms, as well as more advanced concepts such as segmentation, machine learning, complex video analysis, and text recognition.

Meet Your Experts:

We have combined the best works of the following esteemed authors to ensure that your learning journey is smooth:

David Millán Escrivá was eight years old when he wrote his first program on an 8086 PC with Basic language, which enabled the 2D plotting of basic equations. In 2005, he finished his studies in IT through the Universitat Politécnica de Valencia with honors in human-computer interaction supported by computer vision with OpenCV (v0.96).

Prateek Joshi is an artificial intelligence researcher, published author of five books, and TEDx speaker. He is the founder of Pluto AI, a venture-funded Silicon Valley startup building an analytics platform for smart water management powered by deep learning.

Joe Minichino is a computer vision engineer for Hoolux Medical by day and a developer of the NoSQL database LokiJS by night. At Hoolux, he leads the development of an Android computer vision-based advertising platform for the medical industry.

Who is the target audience?
  • This Learning Path is for developers who have a basic understanding of computer vision and image processing and want to develop interesting computer vision applications with OpenCV.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
62 Lectures
OpenCV 3 by Example
50 Lectures 03:57:03

This video gives an overview of the entire course.

Preview 05:49

Before we jump into OpenCV functionalities, we need to understand why those functions were built. Let’s understand how the human visual system works so that we can develop the right algorithms.

The Human Visual System and Understanding Image Content

Real-life problems require us to use many blocks together to achieve the desired result. So, we need to know what modules and functions to use. Let's understand what OpenCV can do out of the box.

What Can You Do with OpenCV?

Now that we know what tasks we can do with OpenCV, Let’s see how to get OpenCVupandrunning on various operating systems, viz. Windows, Mac and Linux.

Installing OpenCV

We are going to use CMake to configure and check all the required dependencies of our project. So, let’s learn basic CMake configuration files and creating a library.

Preview 04:04

CMake has the ability to search our dependencies and external libraries, giving us the facility to build complex projects depending on external components in our projects and by adding some requirements. One of the most important dependency is, of course, OpenCV. Let’s learn how to add it to our projects.

Managing Dependencies

Now that we know managing dependencies, let’s take a look at a bit more complex script. This video we will show us a more complex script that includes subfolders, libraries, and executables, all in only two files and a few lines, as shown in the script.

Making the Script More Complex

The most important structure in computer vision is without any doubt the images. The image in computer vision is a representation of the physical world captured with a digital device. Let’s now learn about images and matrices.

Images and Matrices

After the introduction of matrix, we are ready to start with the basics of the OpenCV code. This video will guide us how to read and write images.

Reading/Writing Images

We now know how to read and write images but reading video can be a bit tricky. This video introduces us reading a video and camera with simple example.

Reading Videos and Cameras

We have learned about the Mat and Vec3b classes, but we need to learn about otherclasses as well. In this video, we will learn about the most basic object types required in most of the projects.

Other Basic Object Types

In many applications, such as calibration or machine learning, when we are done with the calculations, we need to save the results in order toretrieve them in the next executions. Before we finish this section, we will explore the OpenCV functions to storeand read our data.

Basic Matrix Operations, Data Persistence, and Storage

OpenCV has its own cross-operating system user interface that allows developers to create their own applications without the need to learn complex libraries for theuser interface. This video will introduce the OpenCV user interface and help us creating a basic UI with OpenCV.

Preview 05:25

The QT user interface gives more control and options to work with images. Let’s explore the interface and learn how to use it.

The Graphical User Interface with QT

Mouse events and slider controls are very useful in Computer Vision and OpenCV. Using these controls, users can interact directly with the interface and change the properties of their input images or variables. However, using these controls can be a bit tricky. Let’s see how to use them.

Adding Slider and Mouse Events to Our Interfaces

Now that we have learned how to create normal or QT interfaces and interact with them using a mouse and slider, let’s see how we can create different types of buttons to add more interactivity.

Adding Buttons to a User Interface

OpenCV includes OpenGL support which is a graphical library that is integrated in graphic cards as a standard. OpenGL allows us to draw from 2D to complex 3D scenes. This video shows us how to use OpenGL support.

OpenGL Support

Prepare a CMake script file that enables us to compile our project, structure, and executable.

Preview 01:59

The main graphical user interface can be used in the application to create single buttons.

Creating the Graphical User Interface

Histogram is a statistical graphic representation of variable distribution that allows us to understand the density estimation and probability distribution of data.

Drawing a Histogram

Image equalization obtains a histogram with a uniform distribution of values.

Image Color Equalization

Lomography is a photographic effect used in different mobile applications, such as Google Camera or Instagram.

Lomography Effect

The Cartoonize effect creates an image that looks like a cartoon

The CartoonizeEffect

Isolating different parts or objects in a scene.

Preview 02:22

Create our new application.

Creating an Application for AOI

Extract the information from image.

Preprocessing the Input Image

Extract each region of interest of our image where our target objects appear.

Segmenting Our Input Image

Pattern recognition and the learning theory in artificial intelligence and are related to computational statistics.

Preview 07:05

We will learn how to implement our own application that uses machine learning to classify objectsin a slide tape.

Computer Vision and the Machine Learning Workflow

We will be able to recognize different objects to send notifications to a robot or put each one in different boxes.

Automatic Object Inspection Classification Example

To extract the features of each object.

Feature Extraction

It is simply a concatenation of a set of weak classifiers that can be used to create a strong classifier.

Preview 04:32

You have to avoid huge redundancy during the area computation, to avoid this, we can use integral images.

What Are Integral Images

You have to load the cascade file and use it to detect the faces in an image.

Overlaying a Facemask in a Live Video

You have to overlay sunglass on face.

Get Your Sunglasses On

You have to track nose, mouth and ears.

Tracking Your Nose, Mouth, and Ears

The background subtraction technique performs really well where we need to detect moving objects in a static scene.

Preview 04:13

We cannot keep a static background image that can be used to detectobjects.

Frame Differencing

Formulating and implementing a mixture of gaussians.

The Mixture of Gaussians Approach

Morphological Image processing is used in processing the shapes of features in the image.

Morphological Image processing

To apply various morphological operators on image.

Other Morphological Operators

Understand what characteristics can be used to make our tracking robust and accurate.

Preview 03:18

We want to randomly pick an object, learn the characteristics of the selected object and track it automatically.

Building an Interactive Object Tracker

Detect interest points in the image.

Detecting Points Using the Harris Corner Detector

Improve the overall quality of image.

Shi-Tomasi Corner Detector

Tracking individual feature points across successive frames in the video.

Feature-Based Tracking

Classification results can be improved greatly if the input text is clear so Adjust the text.

The Preprocessing Step

Install Tesseract on Windows or Mac.

Installing Tesseract OCR on Your Operating System

Studying tesserct API.

Using Tesseract OCR Library
Machine Learning with Open CV and Python
12 Lectures 01:35:31

This video gives an overview of the entire course.

Preview 03:01

Learn about machine learning.

The Basics of Machine Learning

Extracting features from an image.

Extracting Features

Recognize handwritten digits.

Preview 08:37

Detect pictures containing cars.

Logistic Regression

Detect pictures containing cars.

Normal Bayes Classifier

Operate car detection.

Preview 10:12

Operate face recognition.

Support Vector Machines

Operate flower recognition

Preview 12:29

Operate color quantization.

Preview 05:03

Operate handwritten digit recognition.

Deep Learning
About the Instructor
Packt Publishing
3.9 Average rating
7,264 Reviews
51,824 Students
616 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.