Master Computer Vision™ OpenCV4 in Python with Deep Learning
4.2 (3,168 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
18,135 students enrolled

Master Computer Vision™ OpenCV4 in Python with Deep Learning

Master OpenCV4 like a pro while learning Dlib, Deep Learning Computer Vision (Keras, TensorFlow & Caffe) + 21 Projects!
4.2 (3,168 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
18,135 students enrolled
Created by Rajeev D. Ratan
Last updated 3/2020
English [Auto], Italian [Auto], 4 more
  • Polish [Auto]
  • Portuguese [Auto]
  • Romanian [Auto]
  • Spanish [Auto]
Current price: $104.99 Original price: $149.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 10.5 hours on-demand video
  • 12 articles
  • 10 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Understand and use OpenCV4 in Python
  • How to use Deep Learning using Keras & TensorFlow in Python
  • Create Face Detectors & Recognizers and create your own advanced face swaps using DLIB
  • Object Detection, Tracking and Motion Analysis
  • Create Augmented Reality Apps
  • Programming skills such as basic Python and Numpy
  • How to use Computer Vision in executing cool startup ideas
  • Understand Neural and Convolutional Neural Networks
  • Learn to build simple Image Classifiers in Python
  • Learn to build an OCR Reader for Credit Cards
  • Learn to Perform Neural Style Transfer Using OpenCV
  • Learn how to do Multi Object Detection in OpenCV (up to 90 Objects!) using SSDs (Single Shot Detector)
  • Learn how to convert black and white Images to color using Caffe
  • Learn to build an Automatic Number (License) Plate Recognition (ALPR)
  • Learn the Basics of Computer Vision and Image Processing
Course content
Expand all 116 lectures 10:44:55
+ Course Introduction and Setup
9 lectures 30:21

A brief into to the course, what it covers and the ideal types of students.

Preview 02:05

Get a brief introduction to what makes computer vision difficult.

Preview 03:08

A more detailed look at what this course covers. 

Preview 05:14
READ THIS - Guide to installing and setting up your OpenCV4.0.1 Virtual Machine
Recomended - Setup your OpenCV4.0.1 Virtual Machine
  • Installation guide for Windows users. 

NOTE: Ideally you should install Anaconda with Python 2.7 and OpenCV 2.4.13 or OpenCV 3.3 with the contrib package added. 

Installation of OpenCV & Python on Windows

Installation guide for Mac users. Ideally you should be using Python 2.7 and OpenCV 2.4.13 or OpenCV 3.0.0 or 3.3.0 with the contrib package added. All code is compatible with Python 3.5, so there's no need to create a separate install for Python or downgrade. 

Please note, if you have issues installing OpenCV alongside your Anaconda installation, you can try to create a virtual environment, install OpenCV and its dependencies there. To best use the jupyter/ipython notebooks provided in this course, you can open them in a regular jupyter notebook and copy the code into a *.py file.

Installation of OpenCV & Python on Mac

Installation guide for Linux (Ubantu) users. Ideally you should be using Python 2.7 and OpenCV 2.4.13 or OpenCV 3.0.0 or 3.3.0 with the contrib package added. All code is compatible with Python 3.5, so there's no need to create a separate install for Python or downgrade. 

Please note, if you have issues installing OpenCV alongside your Anaconda installation, you can try to create a virtual environment, install OpenCV and its dependencies there. To best use the jupyter/ipython notebooks provided in this course, you can open them in a regular jupyter notebook and copy the code into a *.py file.

Installation of OpenCV & Python on Linux

Please download the course resources. 

Set up course materials (DOWNLOAD LINK BELOW) - Not needed if using the new VM
+ Basics of Computer Vision and OpenCV
8 lectures 43:05

Understand what exactly is meant when we say "image". 

What are Images?

You'll understand how images are formed.

How are Images Formed?

Understand how images are stored on computers, specifically in python in numpy arrays.

Storing Images on Computers

Reading writing and displaying images. 

Getting Started with OpenCV - A Brief OpenCV Intro

Convert color images to black and white (grayscaling). 

Grayscaling - Converting Color Images To Shades of Gray

Understand the different color spaces (RGB and HSV) and understand why they're important. 

Understanding Color Spaces - The Many Ways Color Images Are Stored Digitally

Understand how to display the histogram representation of an image and how to interpret it. 

Histogram representation of Images - Visualizing the Components of Images

Know how to draw lines, circles, rectangles, polygons and text in images using OpenCV.

Preview 03:47
+ Image Manipulations & Processing
15 lectures 01:01:18

Understand the different types of image transforms, what makes affine different to non-affine transforms.

Transformations, Affine And Non-Affine - The Many Ways We Can Change Images

Implement translations in OpenCV.

Image Translations - Moving Images Up, Down. Left And Right

Implement rotations in OpenCV and understand how images are rotated around an axis. Also use OpenCV's flip function to rotate without needing to re-size the image canvas.

Rotations - How To Spin Your Image Around And Do Horizontal Flipping

Implement re-sizing (up-scaling or down-scaling) of images. Understand what interpolation is and the different methods of interpolation. 

Scaling, Re-sizing and Interpolations - Understand How Re-Sizing Affects Quality

Implement and understand what image pyramiding is and when it can be useful. 

Image Pyramids - Another Way of Re-Sizing

Perform cropping on images using numpy indexing abilities to extract or crop segments of an image. 

Cropping - Cut Out The Image The Regions You Want or Don't Want

Perform summation or negation operations on images using OpenCV which produces a brightening or darkening effects. 

Arithmetic Operations - Brightening and Darkening Images

Understand and implement different bitwise operations on images, very useful technique when masking images. 

Bitwise Operations - How Image Masking Works

Understand and implement different types of blurring methods in OpenCV.

Blurring - The Many Ways We Can Blur Images & Why It's Important

Understand and implement sharpening of images in OpenCV, using a special kernel. 

Sharpening - Reverse Your Images Blurs

Implement several different types of thresholding operations in OpenCV.

Thresholding (Binarization) - Making Certain Images Areas Black or White

Understand what is dilation and erosion and learn how to implement and properly use both operations.

Preview 04:57

Implement different methods of Edge Detection including the powerful Canny Edge Detection Algorithm.

Edge Detection using Image Gradients & Canny Edge Detection

Understand how to obtain transformation matrices from both affine (3 pairs of points) and non-affine (4 pairs of points).

Perspective & Affine Transforms - Take An Off Angle Shot & Make It Look Top Down

Create a live sketching app. It uses a live video from your webcam and extracts the edges to create a sketch drawing effect. 

Mini Project 1 - Live Sketch App - Turn your Webcam Feed Into A Pencil Drawing
+ Image Segmentation & Contours
9 lectures 57:11

Understand what contours are, perform the operation using OpenCV and understand the different types of extraction methods. 

Segmentation and Contours - Extract Defined Shapes In Your Image

Be able to sort contours either left-to-right or by size.

Sorting Contours - Sort Those Shapes By Size

Implement contour approximations and find the convex hull of contours. 

Approximating Contours & Finding Their Convex Hull - Clean Up Messy Contours

Match contours to predefined shape templates.

Matching Contour Shapes - Match Shapes In Images Even When Distorted

Create an app that can extract contours and identify the shapes in the image.

Mini Project 2 - Identify Shapes (Square, Rectangle, Circle, Triangle & Stars)

Using Houghlines and Probabilistic Hough Lines. 

Line Detection - Detect Straight Lines E.g. The Lines On A Sudoku Game

Identify circles in an image

Circle Detection

Understand what blobs are as defined by computer vision theory and implement a simple blob detection example.

Blob Detection - Detect The Center of Flowers

Use blob detection to distinguish between circles and ellipses in an image. 

Mini Project 3 - Counting Circles and Ellipses
+ Object Detection in OpenCV
7 lectures 50:50

Understand why Object Detection is important.

Object Detection Overview

Use template matching to find Waldo in an image.

Mini Project # 4 - Finding Waldo (Quickly Find A Specific Pattern In An Image)

Understand what are image features and why they are important. 

Feature Description Theory - How We Digitally Represent Objects

Implement two methods of finding corners in an image. 

Finding Corners - Why Corners In Images Are Important to Object Detection

Implement common feature extraction algorithms such as SIFT, SURF, FAST, BRIEF and ORB.

SIFT, SURF, FAST, BRIEF & ORB - Learn The Different Ways To Get Image Features

Use both SIFT or ORB to identify a specific object. A fun exercise would be to extend this to multiple objects.

Mini Project 5 - Object Detection - Detect A Specific Object Using Your Webcam

You'll get a brief overview of how we find HOGs and use them as image descriptors. We then visualize the HOGs of an image.

Histogram of Oriented Gradients - Another Novel Way Of Representing Images
+ Object Detection - Build a Face, People and Car/Vehicle Detectors
3 lectures 22:38

Get a quick overview of what HAAR feature are and how HAAR Cascade Classifiers work.

HAAR Cascade Classifiers - Learn How Classifiers Work And Why They're Amazing

Use HAAR Cascade Classifiers to identify faces and eyes in images.

Face and Eye Detection - Detect Human Faces and Eyes In Any Image

Use HAAR Cascade Classifiers to identify cars and people/pedestrians in images. 

Mini Project 6 - Car and Pedestrian Detection in Videos
+ Augmented Reality (AR) - Facial Landmark Identification (Face Swaps)
4 lectures 35:14

Install and use DLIB to identify 68 facial landmarks in images.

Face Analysis and Filtering - Identify Face Outline, Lips, Eyes Even Eyebrows

Use facial landmarks to create a very accurate face swap app.

Merging Faces (Face Swaps) - Combine Two Faces For Fun & Sometimes Scary Results

Implement a very cool live face swapping app. Use any face image to overlay onto yours creating amazing and fun effects!

Mini Project 7 - Live Face Swapper (like MSQRD & Snapchat filters!!!)

Use the tracking of facial landmarks around lips to determine when your mouth is open. This constitutes a yawn in our basic program and we then keep track of the number of times you've yawned. 

Mini Project 8 - Yawn Detector and Counter
+ Simple Machine Learning using OpenCV
3 lectures 41:01

Get a basic overview of what machine learning is and how we use it in Computer Vision.

Machine Learning Overview - What Is It & Why It's Important to Computer Vision

Implement a basic machine learning program that can identify handwritten digits. 

Mini Project 9 - Handwritten Digit Classification

Use one of OpenCV's inbuilt facial recognition functions to implement a basic facial recognition program.

Mini Project # 10 - Facial Recognition - Make Your Computer Recognize You
+ Object Tracking & Motion Analysis
6 lectures 34:26

Filter images by specific colors. 

Filtering by Color

Implement simple background subtraction as well an interesting foreground extraction technique. 

Background Subtraction and Foreground Subtraction

Implement Meanshift for Object Tracking.

Using Meanshift for Object Tracking

Implement CAMshift for Object Tracking.

Using CAMshift for Object Tracking

Use Optical Flow to tracking movement in images. 

Optical Flow - Track Moving Objects In Videos

Implement a simple ball tracking app that also creates a trail.

Mini Project # 11 - Ball Tracking
+ Computational Photography & Make a License Plate Reader
2 lectures 06:57

Remove scratches, folds and lines on old damaged images 

Mini Project # 12 - Photo-Restoration
Mini Project # 13 - Automatic Number-Plate Recognition (ALPR)
  • Little to no programming knowledge is needed, but basic programing knowledge will help
  • Windows 10 or Ubuntu or a MacOS system
  • A webcam to implement some of the mini projects

Welcome to one of the most thorough and well-taught courses on OpenCV, where you'll learn how to Master Computer Vision using the newest version of OpenCV4 in Python!


NOTE: Many of the earlier poor reviews was during a period of time when the course material was outdated and many of the example code was broken, however, this has been fixed as of early 2019 :)


Computer Vision is an area of Artificial Intelligence that deals with how computer algorithms can decipher what they see in images! Master this incredible skill and be able to complete your University/College Projects, automate something at work, start developing your startup idea or gain the skills to become a high paying ($400-$1000 USD/Day) Computer Vision Engineer.


Last Updated Aug 2019, you will be learning:

  1. Key concepts of Computer Vision & OpenCV (using the newest version OpenCV4)

  2. Image manipulations (dozens of techniques!) such as transformations, cropping, blurring, thresholding, edge detection and cropping.

  3. Segmentation of images by understanding contours, circle, and line detection. You'll even learn how to approximate contours, do contour filtering and ordering as well as approximations.

  4. Feature detection (SIFT, SURF, FAST, BRIEF & ORB) to do object detection.

  5. Object Detection for faces, people & cars.

  6. Extract facial landmarks for face analysis, applying filters, and face swaps.

  7. Machine Learning in Computer Vision for handwritten digit recognition.

  8. Facial Recognition.

  9. Motion Analysis & Object Tracking.

  10. Computational photography techniques for Photo Restoration (eliminate marks, lines, creases, and smudges from old damaged photos).

  11. Deep Learning ( 3+ hours of Deep Learning with Keras in Python)

  12. Computer Vision Product and Startup Ideas

  13. Multi-Object Detection (90 Object Types)

  14. Colorize Black & White Photos and Video (using Caffe)

  15. Neural Style Transfers - Apply the artistic style of Van Gogh, Picasso, and others to any image even your webcam input

  16. Automatic Number-Plate Recognition (ALPR

  17. Credit Card Number Identification (Build your own OCR Classifier with PyTesseract)


You'll also be implementing 21 awesome projects! 


OpenCV Projects Include:

  1. Live Drawing Sketch using your webcam

  2. Identifying Shapes

  3. Counting Circles and Ellipses

  4. Finding Waldo

  5. Single Object Detectors using OpenCV

  6. Car and Pedestrian Detector using Cascade Classifiers

  7. Live Face Swapper (like MSQRD & Snapchat filters!!!)

  8. Yawn Detector and Counter

  9. Handwritten Digit Classification

  10. Facial Recognition

  11. Ball Tracking

  12. Photo-Restoration

  13. Automatic Number-Plate Recognition (ALPR)

  14. Neural Style Transfer Mini Project

  15. Multi-Object Detection in OpenCV (up to 90 Objects!) using SSD (Single Shot Detector)

  16. Colorize Black & White Photos and Video

Deep Learning Projects Include:

  1. Build a Handwritten Digit Classifier

  2. Build a Multi-Image Classifier

  3. Build a Cats vs Dogs Classifier

  4. Understand how to boost CNN performance using Data Augmentation

  5. Extract and Classify Credit Card Numbers


What previous students have said: 

"I'm amazed at the possibilities. Very educational, learning more than what I ever thought was possible. Now, being able to actually use it in a practical purpose is intriguing... much more to learn & apply"

"Extremely well taught and informative Computer Vision course! I've trawled the web looking for Opencv python tutorials resources but this course was by far the best amalgamation of relevant lessons and projects. Loved some of the projects and had lots of fun tinkering them."

"Awesome instructor and course. The explanations are really easy to understand and the materials are very easy to follow. Definitely a really good introduction to image processing."

"I am extremely impressed by this course!! I think this is by far the best Computer Vision course on Udemy. I'm a college student who had previously taken a Computer Vision course in undergrad. This 6.5 hour course blows away my college class by miles!!"

"Rajeev did a great job on this course. I had no idea how computer vision worked and now have a good foundation of concepts and knowledge of practical applications. Rajeev is clear and concise which helps make a complicated subject easy to comprehend for anyone wanting to start building applications."


Why Learn Computer Vision in Python using OpenCV?

Computer vision applications and technology are exploding right now! With several apps and industries making amazing use of the technology, from billion-dollar apps such as Pokémon GO, Snapchat and up and coming apps like MSQRD and PRISMA.

Even Facebook, Google, Microsoft, Apple, Amazon, and Tesla are all heavily utilizing computer vision for face & object recognition, image searching and especially in Self-Driving Cars!

As a result, the demand for computer vision expertise is growing exponentially!

However, learning computer vision is hard! Existing online tutorials, textbooks, and free MOOCs are often outdated, using older incompatible libraries or are too theoretical, making it difficult to understand. 

This was my problem when learning Computer Vision and it became incredibly frustrating. Even simply running example code I found online proved difficult as libraries and functions were often outdated.

I created this course to teach you all the key concepts without the heavy mathematical theory while using the most up to date methods. 

I take a very practical approach, using more than 50 Code Examples.

At the end of the course, you will be able to build 12 Awesome Computer Vision Apps using OpenCV in Python.

I use OpenCV which is the most well supported open-source computer vision library that exists today! Using it in Python is just fantastic as Python allows us to focus on the problem at hand without being bogged down by complex code.

If you're an academic or college student I still point you in the right direction if you wish to learn more by linking the research papers of techniques we use. 

So if you want to get an excellent foundation in Computer Vision, look no further.

This is the course for you!

In this course, you will discover the power of OpenCV in Python, and obtain skills to dramatically increase your career prospects as a Computer Vision developer.

You get 3+ Hours of Deep Learning in Computer Vision using Keras, which includes:

  • A free Virtual Machine with all Deep Learning Python Libraries such as Keras and TensorFlow pre-installed

  • Detailed Explanations on Neural Networks and Convolutional Neural Networks

  • Understand how Keras works and how to use and create image datasets

  • Build a Handwritten Digit Classifier

  • Build a Multi-Image Classifier

  • Build a Cats vs Dogs Classifier

  • Understand how to boost CNN performance using Data Augmentation

  • Extract and Classify Credit Card Numbers

As for Updates and support:

I will be continuously adding updates, fixes, and new amazing projects every month! 

I will be active daily in the 'questions and answers' area of the course, so you are never on your own.    

So, are you ready to get started? Enroll now and start the process of becoming a master in Computer Vision today!

Who this course is for:
  • Beginners who have an interest in computer vision
  • College students looking to get a head start before starting computer vision research
  • Anyone curious using Deep Learning for Computer Vision
  • Entrepreneurs looking to implement computer vision startup ideas
  • Hobbyists wanting to make a cool computer vision prototype
  • Software Developers and Engineers wanting to develop a computer vision skillset