OpenCV 3 by Example
2.8 (18 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.
198 students enrolled
Wishlisted Wishlist

Please confirm that you want to add OpenCV 3 by Example to your Wishlist.

Add to Wishlist

OpenCV 3 by Example

Enhance your understanding of Computer Vision and image processing by developing real-world projects in OpenCV 3
2.8 (18 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.
198 students enrolled
Created by Packt Publishing
Last updated 4/2017
Current price: $10 Original price: $125 Discount: 92% off
5 hours left at this price!
30-Day Money-Back Guarantee
  • 4 hours on-demand video
  • 1 Supplemental Resource
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Install OpenCV 3 on your operating system
  • Create the required CMake scripts to compile the C++ application and manage its dependencies
  • Get to grips with the Computer Vision workflows and understand the basic image matrix format and filters
  • Understand the segmentation and feature extraction techniques
  • Remove backgrounds from a static scene to identify moving objects for video surveillance
  • Track different objects in a live video using various techniques
  • Use the new OpenCV functions for text detection and recognition with Tesseract
View Curriculum
  • This video is a practical tutorial with lots of tips, and is closely focused on developing Computer vision applications with OpenCV. Beginning with the fundamentals, the complexity increases with each chapter. Sample applications are developed throughout the course that you can execute and use in your own projects.
  • Knowledge of C++ is required.

Open CV is a cross-platform, free-for-use library that is primarily used for real-time Computer Vision and image processing. It is considered to be one of the best open source libraries that helps developers focus on constructing complete projects on image processing, motion detection, and image segmentation.Whether you are completely new to the concept of Computer Vision or have a basic understanding of it, this video will be your guide to understanding the basic OpenCV concepts and algorithms through amazing real-world examples and projects.

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 or text recognition in complex scenes, and will take you through the commonly-used Computer Vision techniques to build your own Open CV projects from scratch.By the end of this video, you will be familiar with the basics of Open CV such as matrix operations, filters, and histograms, as well as more advanced concepts such as segmentation, machine learning, complex video analysis, and text recognition

About The Author

David Millán Escrivá was eight years old when he wrote his first program on an8086 PC with BASIC language, which enabled the 2D plotting of BASIC equations. He started with his computer development relationship and created many applications and games.

In 2005, he completed his studies in IT from the Universitat Politécnica de Valencia with honors in human-computer interaction supported by Computer Vision with OpenCV (v0.96). He had a final project based on this subject and published it on HCI Spanish Congress. In 2014, he completed his Master's degree in artificial intelligence, computer graphics, and pattern recognition, focusing on pattern recognition and Computer Vision.

He participated in Blender source code, an open source and 3D-software project, andworked in his first commercial movie, Plumiferos—Aventuras voladoras, as a computer graphics software developer. David now has more than 13 years of experience in IT, with more than nine years of experience in Computer Vision, computer graphics, and pattern recognition, working on different projects and start-ups, applying his knowledge of Computer Vision, optical character recognition, and augmented reality.

He is the author of the DamilesBlog, where he publishes research articles and tutorials on OpenCV, Computer Vision in general, and optical character recognition algorithms. He is the co-author of Mastering OpenCV with Practical Computer Vision Projects Book and also the reviewer of GnuPlot Cookbook by Lee Phillips, OpenCV Computer Vision with Python by Joseph Howse, InstantOpenCV Starter by Jayneil Dalal and Sohil Patel, all published by Packt Publishing.

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. His work in this field has led to patents, tech demos, and research papers at major IEEE conferences. He has been an invited speaker at technology and entrepreneurship conferences including TEDx, AT&T Foundry, Silicon Valley Deep Learning, and Open Silicon Valley. Prateek has also been featured as a guest author in prominent tech magazines.

His tech blog has received more than 1.2 million page views from 200 over countries and has over 6,600+ followers. He frequently writes on topics such as artificial intelligence, Python programming, and abstract mathematics. He is an avid coder and has won many hackathons utilizing a wide variety of technologies. He graduated from University of Southern California with a master’s degree specializing in artificial intelligence. He has worked at companies such as Nvidia and Microsoft Research.

Vinícius Godoy is a computer graphics university professor at PUCPR. He started programming with C++ 18 years ago and ventured into the field of computer gaming and computer graphics 10 years ago. His former experience also includes working as an IT manager in document processing applications in Sinax, a company that focuses in BPM and ECM activities, building games and applications for Positivo Informática, including building an augmented reality educational game exposed at CEBIT and network libraries for Siemens Enterprise Communications (Unify).

As part of his Master's degree research, he used Kinect, OpenNI, and OpenCV to recognize Brazilian sign language gestures. He is currently working with medical imaging systems for his PhD thesis. He was also a reviewer of the OpenNI Cookbook, Packt Publishing.

He is also a game development fan, having a popular site entirely dedicated to the field called Ponto V. He is the cofounder of a startup company called Blackmuppet. His fields of interest includes image processing, Computer Vision, design patterns, and multithreaded applications.

Who is the target audience?
  • If you are a software developer with a basic understanding of Computer Vision and image processing and want to develop interesting Computer Vision applications with Open CV, this is the book for you. Knowledge of C++ is required.
Compare to Other OpenCV Courses
Curriculum For This Course
50 Lectures
Getting Started with OpenCV
4 Lectures 33:11

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
An Introduction to the Basics of OpenCV
8 Lectures 28:33

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
Learning the Graphical User Interface and Basic Filtering
5 Lectures 20:24

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
Delving into Histograms and Filters
6 Lectures 21:13

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
Automated Optical Inspection, Object Segmentation, and Detection
4 Lectures 24:47

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
Learning Object Classification
4 Lectures 23:37

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
Detecting Face Parts and Overlaying Masks
5 Lectures 16:50

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
Video Surveillance, Background Modeling, and Morphological Operations
5 Lectures 18:02

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
Learning Object Tracking
5 Lectures 23:27

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
Developing Segmentation Algorithms for Text Recognition
4 Lectures 26:59

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
About the Instructor
Packt Publishing
3.9 Average rating
8,197 Reviews
58,849 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.