OpenCV Complete Dummies Guide to Computer Vision with Python
Includes all OpenCV Image Processing Features with Simple Examples. Deep Learning Face Detection, Face Recognition & OCR
- Learn all the important functionalities of OpenCV Library. Implement Face Detection, Face Recognition and Optical Character Recognition.
- A decent configuration computer to run Virtual Box and Linux. Only basic programming knowledge required
Hello and let me welcome you to the magical world of Computer Vision.
Computer Vision is an AI based, that is, Artificial Intelligence based technology that allows computers to understand and label images. Its now used in Convenience stores, Driver-less Car Testing, Security Access Mechanisms, Policing and Investigations Surveillance, Daily Medical Diagnosis monitoring health of crops and live stock and so on and so forth..
Even to analyze data coming from outer space stars, planets etc also we use Computer Vision.
A common example will be face detection and unlocking mechanism that you use in your mobile phone. We use that daily. That is also a big application of Computer Vision. And today, top technology companies like Amazon, Google, Microsoft, Facebook etc are investing millions and millions of Dollars into Computer Vision based research and product development.
So.. Learning and mastering this fantastic world of Computer Vision based technology is surely up-market and it will make you proficient in competing with the swiftly changing Image Processing technology arena.
And this course is designed in such a way that even the very beginner to programming can master the Computer Vision based technology.
Here are the major topics that we are going to cover in this course.
Session 1: Introduction to OpenCV
We will mainly concentrating on OpenCV, which is the open source Computer Vision library.
Its being used all around the world in providing Computer Vision based Technology. So we will have an introduction to OpenCV, the features, the version, and all the other details, we will be discussing in the first session.
Session 2: Installing Virtual Box and Ubuntu 18
In the second session, we will be installing a Virtual Box with Ubuntu 18 the latest version of Ubuntu Linux in it, so that we can have our Computer Vision based laboratory setup separately, rather than we need to install all the packages and everything into our computer or laptop that you are using daily. So its better to have a separate Lab setup so that we can play and get our hands dirty with the Computer Vision based programs, examples exercises and all.
Session 3: Installing Libraries and Dependencies
And in the third session, we will be installing the libraries that are required for Computer Vision Programming. We will be mainly using Python program. Python is actually the language which is mainly used for scientific… these kind of research purpose and all.. So the best combination will be Python – OpenCV and Linux. The best ever combination to run our OpenCV based Computer Vision programs.
Session 4: Installing Sublime Text Editor for Ubuntu
And in the next session, we will set up our IDE, which is Sublime Text, we will install
and configure the Sublime Text inside our Ubuntu Virtual Machine.
Session 5: Image Processing Concepts
In the next session, which is a Theory session, we will have the concepts, the Pixels, Size, Image and all the concepts that are based on Image Processing.
Session 6: OpenCV: Read Load and Save Image – Sample Program
Then in the next session, we will use the OpenCV. We will run a simple example of OpenCV to load an image, then show that image using the Image Viewer feature of OpenCV and we will save that image in a separate format.
Session 7: OpenCV Pixel and Area Manipulation
Then in the next session, we will manipulate the image based on its pixels, that is the finest element available for that image that is the pixel. So we will do our pixel level manipulation in the next session.
Session 8 – 10:
OpenCV – Drawing Lines, Rectangles, Simple, Concentric Circles, Random Circles
In the coming session, we will draw some shapes, some rectangles, circles, shapes like that we will try to draw on top of our image using OpenCV library.
Session 11 – 15:
OpenCV Image Transformation – Translation, Rotation, Resizing, Flipping, Cropping
And then the next session , we will proceed with transformation. Image Transformations
like resizing, flipping, then … changing the position, cropping, rotating.. stuff like that, we will deal
Session 16 – 17:
OpenCV Image Arithmetic Operations, Bitwise / Logical Operations
In the next session and then we will do some arithmetic operations in the image and also we will do some bitwise based operations in the image.
Session 18: OpenCV – Image Masking
Then we have the masking of the image. We will include a Mask, which is our manually created image on top of our natural, normal image. Then we will perform some operations
based on this masking.
Session 19: Image Color Channels Merging and Splitting
And then we will proceed with Image Channels. Basically color image will be having 3 channels, then black and white images will be.. or gray scale images will be having a single channel. So we will merge and split these channels from the given image so that we will have a better understanding about the image channels.
Session 20: OpenCV – Other Color Spaces – GRAY, HSV, LAB
Then we will deal with Color Spaces. The primary color space is RGB, and we will deal with few other kind of Color Spaces also which is supported by OpenCV.
Session 21 – 22:
OpenCV – Gray scale Histograms, Color Histograms
And in the next session, we will deal with Histograms, which is the graphical representation of the intensity of light, or pixels in that image. We will deal with Histograms. We will learn how you can analyze a Historam to tell the nature of that image.
Session 23: OpenCV – Histogram Equalization
Then we will make use of Histogram Equalization to equalize the image to remove the rough edges of the image to equalize the color, the contrast of the image using the histogram equalizer.
Session 24 – 25: OpenCV – Image Blurring, Image Threshold
The we will proceed with effects like blurring, then we will do thresholding in which we will be converting the normal image into binary format, like either Black or White, stuff like that… we will be dealing in the Thresholding session.
Session 26: OpenCV – Image Gradient Detection
And then we will proceed with Gradient Detection and Edge Detection, which is greatly in use in the Image processing technology world.
Session 27: OpenCV- Canny Edge Detection
And we will be doing another exercise in Edge Detection using Canny Edge Detector.
Session 28: OpenCV – Image Contours
Then we will proceed with Contours. Contours are lines drawn across the edge of the image, that is, the outer edge of an image which is also a very useful feature in detecting images inside a large image or a photograph.
Session 29: Face Detection using OpenCV
And then we will proceed with some Artificial Intelligence based applications like Face Detection That is detecting the number of faces inside a large image.
Session 30: Face Recognition using Machine Learning
Then Face Recognition in which, the computer program will recognize the image based on the pre-learned faces.
For example a group of American Senators and our computer is pre-learned with Barack Obama’s photo, then the computer will detect that particular face , from that large photograph. We will be using a face recognition library called face_recognition, which is based on Python. We will be using that so that we can easily, quickly implement a Face Detection and Face Recognition program in Python.
Session 31: Digital Makeup
Using a Technique called Digital Makeup to the face image and make it look more pretty (or scary).
Its done by identifying the getting the selected face landmarks from the list of available face encoding.
Draw shapes like polygons, lines etc over the area of interest and fill it with colors.
Save the image if you want to.
Session 32: Face Distance Calculation
Calculate the numerical value of face match.
Use this value to make decision if the face matches or not and the extend of match obtained.
Session 32: Real Time Face Recognition using Machine Learning
Unlike the previous exercise in which the face recognition was done on a static image, here were are feeding the program with live videos from our computer’s web camera.
Then every frame is captured, analysed and then face recognition is done so that the real time video can be detected and recognized for known faces in it.
Session 33: Optical Character Recognition – OCR using PyTesseract Library
Then later on, we will go ahead with Optical Character Recognition, which is also an Artificial Intelligence based application Optical Character Recognition is an old Technology actually. It has recently been improved. We will be using a library called Tesseract, which is also an OpenCV based library. We will be using that and perform Optical Character Recognition quickly, without having to deal with all the other complexities, since that library makes the Optical Character Recognition very easily to do within your Python program.
Session 34: Simple Real-time motion detector using OpenCV from Camera Video Stream
Session 35: Object Recognition using pre-trained models
Covering SSD, YOLO and Mask R-CNN
Session 36: Real-time Facial Expression Recognition System from Camera Video Stream
So overall this is a complete package in which you can learn Computer Vision based Technology, Deep Learning based Face Detection,then Face Recognition and Optical Character Recognition.
And by the end of this course, we will providing you with a course completion certificate which you can keep with you an mention it in your portfolio so that you will be having more weightage , when you are dealing with jobs based on Computer Vison Technology.
So without wasting much time, lets dive in to this magical world. See you soon in the class room. Have a great time. Bye Bye
- Beginners who are interested in Computer Vision based technology. Developers who wish to use Computer Vision in their applications
Created by Abhilash Nelson
Last updated 8/2019
Size: 5.16 GB