Computer vision: OpenCV Basics Quick Starter in Python

Start your Deep Learning Computer Vision Endeavor with Strong OpenCV Basics in Python

  • (5.0) 0 students enrolled

Course Overview

Let’s see what the interesting topics are included in this course. At first, we will have an overview of computer vision and the amazing OpenCV, the open-source computer vision library.

After that, we are ready to proceed with preparing our computer for installing OpenCV and later will proceed with installing OpenCV itself. Then we will try a one-liner code to check if everything is working fine.

When I said this course is for complete beginners, I mean it. Because even-if you are coming from a non-python background, the next few sessions and examples will help you get the basic python programming skill to proceed with the rest of the sessions. The topics include Python assignment, flow-control, functions and data structures.

Now we are all set to proceed with python computer vision exercises.  But before that, we need to learn the theory of how a digital image is organized. Concept of pixels, colour and greyscale channels, colour codes etc.

Then we will write our first opencv program in which we will simply load and display an image from our computer, and we will write a greyscale version of this image back to our computer itself.

As you already know the basic building block of a digital image is pixels, we will use the power of OpenCV to manipulate the individual pixels of an image and modify it.

Later in the next session, we will use a similar technique to select a collective area of pixels and manipulate it by trying to change colourand get the properties of the image.

Hope you know that there are 3 colour channels in a colour image and one in the greyscale image. We will try to separate and extract those colour channels and later try to merge them back to form the original image.

Colour spaces, unlike the colour channels, is the way how colours are organized in an image. In the next session, we will explore the popular colour spaces and will do exercises which switches an image between different colour spaces.

In the next session, we will use opencv to create and draw simple geometric shapes like line, rectangle, circle, ellipse, polygon etc into an image canvas. We also will try to insert a text into the canvas.

Then we will try some morphological transformations to our image which includes erosion which erodes the pixels, then dilation which will expand the pixels, opening transformation for white noise removal and closing for black point noise removal. Then gradient transformation and finally the top hat and black hat morphological image transformations.

After that we will try the geometric transformations which include scaling or resizing the image, then translating or place shifting the image, flipping or changing sides, rotating the image by fixing an axis, and cropping the image to extract the region of interest.

In the coming two sessions, we will try the basic arithmetic and logical operations between two images. We will try to do the addition operation and subtraction operation between two images. We will also try the AND, OR, XOR and NOT binary bitwise operations for two images and will check the results obtained.

Later we will go ahead with Image masking, which is a technique of covering the unwanted areas of an image and display only the region of interest.

And after that, we will try Image Smoothing techniques. At first, we will use our filter to do a custom smoothing of image and later built-in filters using algorithms like Gaussian Smoothing, average smoothing, Median and finally the bilateral smoothing.

Then we will see an advanced technique called thresholding which is very useful in pre-processing and preparing the image for computer vision algorithms. We will do exercises to demonstrate simple thresholding, Otsu thresholding and adaptive thresholding.

Then we will check an interesting image colour intensity plotting technique called as the histograms. We will plot a histogram and will learn how we can analyse the histogram to predict the nature of the image.

By using this histogram and adjusting the values based on it, we can enhance the contrast of dull-looking images. We will explore the technique called histogram equalization.

Image pyramids are different sized images generated and stacked one on top of others. We will explore how we can use opencv methods to generate image pyramids.

For us humans, it’s an easy task to find an object in a scene and find the edges of it. For computers,it’s not that easy. We will explore the opencv functions which enable us to find the edges using the Canny edge detection.

As we know to a computer, an image is just a collection of numbers. To find the edges, gradients or the pattern of intensity change of colours should be found out. We will use the gradient detection function of OpenCV to do that.

Then finally we will draw contours along the different objects in an image with the help of the above-mentioned techniques and try to count the number of objects available in the scene.

That's all about the basics. The code and the images used in this course has been uploaded and shared in a folder.

What are the requirements?

  • A decent configuration computer and an enthusiasm to dive into the world of computer vision

What am I going to get from this course?

  • OpenCV Image Manipulation Fundamentals using Python. Also includes a Python basics refresher session.

What is the target audience?

  • Beginners or those who wants to start with Python Computer Vision using OpenCV

About the Author

I  am a pioneering, talented and security-oriented Android/iOS Mobile and PHP/Python Web Developer Application Developer offering more than eight years’ overall IT experience which involves designing, implementing, integrating, testing and supporting impact-full web and mobile applications. I am a Post Graduate Masters Degree holder in Computer Science and Engineering. My experience with PHP/Python Programming is an added advantage for server based Android and iOS Client Applications. I am currently serving full time as a Senior Solution Architect managing my client's projects from start to finish to ensure high quality, innovative and functional design.

Course Curriculum

Introduction and Table of Contents
1 Video Lectures | 08:05

  • Introduction and Table of Contents
    08:05
     

Introduction to OpenCV
1 Video Lectures | 03:24

  • Introduction to OpenCV
    03:24
     

Environment Setup: Preparing your Computer
1 Video Lectures | 08:59

  • Preparing your Computer
    08:59
     

Python Basics
4 Video Lectures | 34:35

  • Python Basics - Assignment
    09:30
     
  • Python Basics - Flow Control
    09:20
     
  • Python Basics - Data Structures
    11:50
     
  • Python Basics - Functions
    03:55
     

Image Concepts
1 Video Lectures | 07:09

  • Image Concepts
    07:09
     

Beginning Open CV-Read , Display and Write Images
1 Video Lectures | 06:33

  • Read , Display and Write Images
    06:33
     

Optional: cv2.imshow() Not Responding Issue Fix
1 Video Lectures | 01:18

  • Optional: cv2.imshow() Not Responding Issue Fix
    01:18
     

Pixel Access and Modification
1 Video Lectures | 08:53

  • Pixel Access and Modification
    08:53
     

Area Manipulation and Image Properties
1 Video Lectures | 06:02

  • Area Manipulation and Image Properties
    06:02
     

Color Channels - Split and Merge
1 Video Lectures | 09:52

  • Color Channels - Split and Merge
    09:52
     

Color Spaces Conversion
1 Video Lectures | 07:02

  • Color Spaces Conversion
    07:02
     

Drawing Geometric Shapes And Text
3 Video Lectures | 16:56

  • Part 1 Create Drawing Canvas
    04:23
     
  • Part 2 Drawing line, Circle, Rectangle
    04:57
     
  • Part 3 Ellipse, Polygon and Text
    07:36
     

Morphological Transformations
3 Video Lectures | 16:19

  • Morphological Transformation - Part 1 Erosion
    05:47
     
  • Morphological Transformation - Part 2 Dilation and Opening
    04:58
     
  • Morphological Transformation - Part 3 Closing, Gradient, TopHat, BlackHat
    05:34
     

Geometric Transformations
5 Video Lectures | 21:50

  • Geometric Transformations - Part 1: Scaling
    04:57
     
  • Geometric Transformations - Part 2: Translation
    06:02
     
  • Geometric Transformations - Part 3: Rotation
    04:49
     
  • Geometric Transformations - Part 4: Flipping
    02:27
     
  • Geometric Transformations - Part 5: Cropping
    03:35
     

Arithmetic Operations
1 Video Lectures | 05:28

  • Arithmetic Operations - Addition and Subtraction
    05:28
     

Bitwise Operations
1 Video Lectures | 05:15

  • Bitwise Operations - AND, OR, XOR, NOT
    05:15
     

Image Masking
1 Video Lectures | 04:04

  • Image Masking
    04:04
     

Image Smoothing
3 Video Lectures | 18:41

  • Custom Filter Image Smoothing
    07:50
     
  • Average and Gaussian Image Smoothing
    04:56
     
  • Median and Bilateral Smoothing
    05:55
     

Image Thresholding
3 Video Lectures | 15:36

  • Simple Thresholding
    06:09
     
  • Otsu Thresholding
    03:17
     
  • Adaptive Thresholding
    06:10
     

Histograms
1 Video Lectures | 07:42

  • Histograms
    07:42
     

Histogram Equalization
1 Video Lectures | 04:44

  • Histogram Equalization
    04:44
     

Image Pyramids
1 Video Lectures | 04:54

  • Image Pyramids
    04:54
     

Canny Edge Detection
1 Video Lectures | 03:23

  • Canny Edge Detection
    03:23
     

Image Gradients - Laplace and Sobel
1 Video Lectures | 07:04

  • Image Gradients - Laplace and Sobel
    07:04
     

Image Contours
1 Video Lectures | 08:43

  • Image Contours
    08:43
     

SAMPLES AND SOURCE CODE DOWNLOAD
1 Document Lectures

  • SAMPLES AND SOURCE CODE DOWNLOAD
    34 Page

reviews

  • No reviews found