
Navigate this course by using the provided notebooks and videos, join Q&A forums and Discord for help, and follow a two-pronged approach to learn computer vision with OpenCV.
Explore NumPy basics and arrays, including creation, slicing, and indexing used to represent images in Python. Learn how to open and display images with NumPy, paving the way for OpenCV.
Open images with PIL and convert them to NumPy arrays to explore RGB channels and shapes. Display with Matplotlib to visualize color channels and understand grayscale and color mapping.
Explore NumPy image basics through a hands-on assessment: create a 5x5 array of tens, inspect random arrays, and isolate the blue channel from an image.
Learn NumPy basics for image processing: create and manipulate arrays, read images with PIL and matplotlib, convert to NumPy arrays, and isolate the blue channel by zeroing red and green.
Open image files with OpenCV in Python and display them in a window outside Jupyter. Use cv2.imread, cv2.imshow, and a waitKey loop; run as a script to avoid kernel issues.
Write text on images with cv2.putText using Hershey Simplex and adjust font scale, color, and thickness, then draw polygons with cv2.polylines by defining vertices and reshaping for the 3D format.
Learn to draw on images with the mouse in OpenCV by linking a function to a window via setMouseCallback, enabling interactive left-click circle drawing.
continue drawing on images with OpenCV by handling left and right mouse button events, drawing circles in green or blue, and preparing for dragging behavior with event callbacks.
Draw rectangles on a black 512 by 512 image by dragging the mouse, starting at the left button down and finalizing on release using OpenCV callbacks.
Practice image basics in Python with OpenCV by correcting color order, flipping the image, and drawing a red rectangle and a blue triangle around the dog in the assessment.
Follow a hands-on walkthrough of image basics in OpenCV, covering reading and converting images, flipping, drawing rectangles and blue triangles, using polylines and fillPoly, and creating an interactive circle-drawing script.
Explore image processing with OpenCV, applying smoothing, blurring, and morphological operations, and analyze color spaces and histograms to extract image properties.
Explore color spaces beyond rgb, including hsl and hsv, and learn to convert images with cv2.cvtColor from rgb/bgr to hsv or hsl using OpenCV, for computer vision tasks.
Learn to blend and paste images in OpenCV using addWeighted with alpha, beta, and gamma, then handle different sizes with resizing, masking, and numpy slicing overlays.
Learn how to create and apply masks to blend a smaller image onto a larger one using a region of interest, enabling selective pasting with cv2 bitwise operations.
Explore image gradients with Sobel operators in OpenCV, extracting x and y edges to reveal vertical and horizontal structures, and blend or threshold results for edge detection.
Explore histograms and image histograms for blue, green, and red channels with OpenCV and matplotlib, using cv2.calcHist to analyze color distributions.
Learn to enhance image contrast by histogram equalization in grayscale and color using OpenCV, including HSV value channel processing and masks for selective histograms.
Explore an image processing assessment that guides you through displaying giraffes.jpg with color spacing, applying binary threshold, HSV conversion, a 4x4 low-pass blur, sobelx on grayscale, and RGB channel histograms.
Connect the OpenCV library to a webcam and to an existing mp4 video file, then draw shapes on video to support object tracking and object detection.
Learn to load and display existing video files with OpenCV using cv2.VideoCapture, handle file or codec errors, and control playback speed with frame-rate based delays.
Learn to draw on live video with OpenCV and Python by adding static and interactive rectangles to frames from a USB camera using cv2 capture and mouse callbacks.
Implement OpenCV video basics by handling mouse events to set a center on click, draw a circle on frames, and manage video capture, window creation, and cleanup.
Explore diverse object detection methods from template matching to watershed segmentation. Learn techniques like contour and feature matching, Haar cascades, and license-plate blurring projects.
Explore template matching with OpenCV, scanning a larger image for a template using correlation-based methods, visualize results with heatmaps and rectangles to locate the match.
Explore corner detection theory and implement Harris and Shi-Tomasi detectors in OpenCV with Python, including practical steps on images, grayscale conversion, edge-based corners, and visualization.
Apply the Shi-Tomasi algorithm via goodFeaturesToTrack to extract and visualize corners on flat and real chessboard images, drawing circles for the detected points.
Explore edge detection with the canny edge detector, including gaussian smoothing, gradient calculation, non-maximum suppression, double threshold, and hysteresis, implemented via OpenCV's cv2.Canny and blurring.
Learn to detect grid patterns with OpenCV using findChessboardCorners and findCirclesGrid, draw results with drawChessboardCorners, and apply these methods to camera calibration and motion tracking.
Explore contour detection with OpenCV's findContours, distinguishing internal and external contours using a hierarchy. Draw and analyze contours for shape analysis, object detection, and recognition.
Learn to apply OpenCV feature matching to real-world images without exact templates, using brute-force ORB and SIFT descriptors, ratio tests, and the FLANN matcher, with practical cereal box examples.
Learn to use SIFT descriptors with knnMatch and a ratio test to filter good matches, compare brute force and FLANN-based matchers, and visualize results with drawMatchesKnn and masks.
Explore the watershed algorithm for image segmentation, using topographical analogies, seeds, and OpenCV to separate foreground from background, with coins as a practical example.
Set custom seeds with the watershed algorithm by clicking on the image to mark regions. The segmentation updates in real time using OpenCV and a color-mapped marker set.
Learn how face detection uses Viola-Jones with Haar cascades and integral images to quickly locate faces in gray-scale images. Explore how a cascade of OpenCV Haar classifiers efficiently filters candidates.
Trace the object detection assessment to detect Russian license plates in dashcam images and blur them, using a pre-trained XML model, OpenCV, and NumPy slicing.
Detect Russian license plates with a Haar cascade in OpenCV, draw bounding boxes, and blur the detected regions using a median blur via ROI.
Explore basic object tracking techniques, including optical flow, meanshift, and camshift, and review OpenCV's built-in tracking APIs to understand more advanced methods.
Explore optical flow in Python with OpenCV by implementing Lucas-Kanade tracking of 10 Shi-Tomasi corners in a live camera feed, visualizing trajectories with a mask and frame overlays.
Implement mean shift and cam shift tracking in OpenCV. Detect a face with a Haar cascade, initialize a tracking window, compute the HSV ROI histogram, and apply back projection to track across frames.
Explore OpenCV tracking APIs and compare Boosting, MIL, KCF, TLD, and MedianFlow trackers, emphasizing their pros, cons, and practical use in a Python notebook.
Learn to implement OpenCV tracking APIs in Python using a notebook that selects a tracker, initializes with a region of interest, then updates frames to relocalize the target.
Explore the foundations of deep learning for computer vision, including classification metrics and convolutional neural networks, using Keras on MNIST and real-world dogs and cats images, and apply YOLO.
Learn the fundamentals of machine learning and supervised learning for images. Follow the data-to-model workflow—data collection, cleaning, train-test split, training, evaluation, and iterative refinement using Keras image data generator.
Explore classification metrics: accuracy, precision, recall, and F1-score, using a binary dog vs. cat example, trained and tested with a confusion matrix to evaluate predictions.
Learn Keras basics to build a four-feature bank-note classifier with TensorFlow backend, including data prep, train/test split, scaling, a 50-epoch sequential dense net, evaluation, and saving/loading the model.
build and train a keras convolutional neural network on mnist, including data loading, one-hot encoding, normalization, conv2d, maxpool2d, flatten, and softmax, achieving high accuracy.
Build and evaluate a Keras convolutional neural network on CIFAR-10 color images. Load the data, scale to 0–1, apply one-hot encoding, and compare standard and larger CNN architectures.
Learn to train deep networks on custom cats and dogs images by preparing train and test folders, resizing files, and applying data augmentation with ImageDataGenerator and flow_from_directory.
Learn to build and train a deep learning model on custom images using updated Keras syntax, including convolutional layers, max pooling, dropout, and image generators, then evaluate and predict.
Build a fashion mnist image classifier with keras and cnn, preprocess by normalization and single-channel reshaping, then train and evaluate with accuracy, precision, recall, and f1.
Explore YOLO v3, a fast, single-network object detection algorithm that predicts bounding boxes and class probabilities for the whole image, with threshold-based control over detections.
Download and load the pre-trained YOLO v3 weights trained on the COCO dataset, then run the notebook to detect objects in images or videos with Python.
Develop a capstone project that detects a hand, segments it from the background, and counts fingers using thresholding, demonstrated within a red bounding box.
Define global variables and implement a background running average with an ROI to detect hands, update a 60 frames background, apply thresholding and convex hull to count fingers.
Segment the hand in the region of interest using absolute difference and thresholding, then extract the largest external contour as the hand and return the thresholded image.
Apply convex hull techniques in Python with OpenCV to count fingers from a thresholded hand image by extracting extreme points, computing the hand center, and using a 90% radius circle.
Bring together video capture, background learning, and finger counting by processing a live camera feed, applying ROI, grayscale and blur, thresholding, contouring, and counting fingers.
Welcome to the ultimate online course on Python for Computer Vision!
This course is your best resource for learning how to use the Python programming language for Computer Vision.
We'll be exploring how to use Python and the OpenCV (Open Computer Vision) library to analyze images and video data.
The most popular platforms in the world are generating never before seen amounts of image and video data. Every 60 seconds users upload more than 300 hours of video to Youtube, Netflix subscribers stream over 80,000 hours of video, and Instagram users like over 2 million photos! Now more than ever its necessary for developers to gain the necessary skills to work with image and video data using computer vision.
Computer vision allows us to analyze and leverage image and video data, with applications in a variety of industries, including self-driving cars, social network apps, medical diagnostics, and many more.
As the fastest growing language in popularity, Python is well suited to leverage the power of existing computer vision libraries to learn from all this image and video data.
In this course we'll teach you everything you need to know to become an expert in computer vision! This $20 billion dollar industry will be one of the most important job markets in the years to come.
We'll start the course by learning about numerical processing with the NumPy library and how to open and manipulate images with NumPy. Then will move on to using the OpenCV library to open and work with image basics. Then we'll start to understand how to process images and apply a variety of effects, including color mappings, blending, thresholds, gradients, and more.
Then we'll move on to understanding video basics with OpenCV, including working with streaming video from a webcam. Afterwards we'll learn about direct video topics, such as optical flow and object detection. Including face detection and object tracking.
Then we'll move on to an entire section of the course devoted to the latest deep learning topics, including image recognition and custom image classifications. We'll even cover the latest deep learning networks, including the YOLO (you only look once) deep learning network.
This course covers all this and more, including the following topics:
NumPy
Images with NumPy
Image and Video Basics with NumPy
Color Mappings
Blending and Pasting Images
Image Thresholding
Blurring and Smoothing
Morphological Operators
Gradients
Histograms
Streaming video with OpenCV
Object Detection
Template Matching
Corner, Edge, and Grid Detection
Contour Detection
Feature Matching
WaterShed Algorithm
Face Detection
Object Tracking
Optical Flow
Deep Learning with Keras
Keras and Convolutional Networks
Customized Deep Learning Networks
State of the Art YOLO Networks
and much more!
Feel free to message me on Udemy if you have any questions about the course!
Thanks for checking out the course page, and I hope to see you inside!
Jose