
Dive into image processing and computer vision with a hands-on approach, exploring histograms, color, video, and detection techniques using OpenCV in Python.
Install the software and set up your environment via the Anaconda prompt, download datasets and video resources, and organize four data files and image folders for face detection tasks.
Explore technologies for image processing and computer vision with Python and OpenCV. Learn about using the C++ core with Python wrappers and installing across Mac, Linux, and Windows with Anaconda.
Define image processing as analysis and manipulation of digitized images to improve quality. Describe computer vision as an interdisciplinary field that automates human cognitive tasks.
Explore how image attributes define data representation across normal, microscopic, and medical contexts, with multi-channel data and quality control, in image processing and computer vision with Python and OpenCV.
Explore color spaces in image processing, comparing black and white, grayscale, and RGB, and learn how OpenCV handles hue, saturation, and value for effective computer vision tasks.
Learn how to load a color image in Python with OpenCV, inspect its array shape (height, width, channels), and convert to black and white for processing.
Explore grayscale images by converting color to gray, understanding channel reduction, and applying thresholding to produce black-and-white results. Plot histograms and study the cumulative density function to analyze pixel distributions.
Explore using numpy features to analyze and modify images, including accessing pixel values, computing min, max, and mean, and extracting foreground and background colors.
Explore how to create and combine two masks to segment the lower half of an image. Apply disk-like and color channel thresholds to visualize results in color.
Explore channel-based image manipulation in Python and OpenCV, including creating masks, converting color channels, and comparing manual multiplication with additive methods for color images, including two-dimensional and three-dimensional channels.
Count white dots in an image using blob detection with OpenCV in Python, extracting coordinates and drawing circles around detected dots to verify results.
Explore image preprocessing with python and opencv, converting data types, applying scaling, and examining color channels and color models to prep images for computer vision.
Explore color image manipulation by isolating the color channels and examining green and blue, to see how values shape images and white pixels.
Explore how histograms reveal image intensity distributions, including one-dimensional grayscale and color channels, and apply contrast, exposure, and histogram equalization for image enhancement.
Explain histogram equalization to increase global image contrast by spreading intensity values from 0 to 255, and compare the resulting enhancement with clahe for a more natural look.
Discover how thresholding in Python and OpenCV converts images into binary forms by analyzing histograms to separate foreground objects from the background.
Explore color spaces with Python and OpenCV, focusing on CIELAB conversion, RGB to LAB, normalization, and displaying LAB images correctly while preserving data through proper conversions.
Apply convolution with a kernel matrix to perform image filtering, including blur, sharpening, contrast adjustment, and erosion, while normalizing and exploring mean, median, Laplacian, and max/min filters.
Apply image filters in python using sklearn code and OpenCV to pre-process images, remove noise, and compare mean, median, max, and min filters on sample images.
Explore how edges arise from abrupt intensity changes, and analyze derivatives to locate maximum responses, interpreting edge strength through second-derivative concepts in image signals.
Explore edge detection techniques using sklearn code within Python and OpenCV, demonstrating image processing workflows and practical steps to implement and visualize results.
Learn how to read and display images with OpenCV, using color and grayscale flags, convert BGR to RGB for correct display, and write images back to disk.
Learn to capture video from a webcam with OpenCV, select the camera index for multiple webcams, and read and write video with configurable codec, frame size, and frame rate.
Learn to draw geometric shapes using OpenCV with Python, including lines, rectangles, circles, ellipses, and polylines, using BGR colors, thickness, line types, and text annotations.
Explore capturing mouse click points in images using an event callback to handle left button down and double-click events, and annotate the image with the click points.
Learn to open a video, write text on every frame, and save the annotated output using Python and OpenCV, illustrating frame-by-frame image processing and practical challenges.
Explore color spaces in OpenCV with Python, map hue ranges to 0–180, and create color masks by thresholding green, blue, and orange regions.
Explore image transformations in opencv, including rectangle-to-triangle changes, flipping horizontally, resizing, and other transformations, and learn to compute and apply transformation matrices for data augmentation.
Explore blurring as a low-pass filter in image processing using a 3x3 kernel with normalization, and see how 5x5 or 7x7 kernels increase smoothing in OpenCV.
Explore inbuilt blur functions in image processing with Python and OpenCV, learning how different blur operations affect image quality and details through practical examples.
Apply sharpening and embossing effects using custom convolution kernels in OpenCV, manipulating brightness and shadows to enhance edges and textures.
Explore how high pass filtering enhances high-frequency content to reveal edges, enabling effective edge detection across horizontal and vertical directions in Python and OpenCV.
Explore histogram equalization with OpenCV to boost image contrast, including color images by converting to a luminance-based color space, applying equalization to the Y channel, and recombining.
Explore morphological operations in image processing, focusing on erosion and dilation to shrink or expand features in binary images.
Learn basic image arithmetic with Python and OpenCV by performing addition, merging, and resizing images to the same dimensions, using green screen scenarios.
Learn how to place one image on a background using masking and thresholding in OpenCV. Explore grayscale conversion, mask creation, and compositing the foreground with the background.
Learn how to overlay a foreground image onto a forest background by isolating green with HSV, creating a mask, and compositing using color conversion and masking techniques.
Learn to extract the foreground from images using grabcut, starting with a rectangle, refining with a mask, and building a background model in Python and OpenCV.
Identify the color of any pixel or rectangle in an image using OpenCV with BGR data, convert to RGB by reversing channels, and compute the mean color for RGB values.
Explore background subtraction using the BackgroundSubtractor class to separate foreground objects from a static background, compare approaches, and review documentation for effective video analysis.
Explore contours as a fundamental building block for image analysis, outlining boundaries and enabling binary image separation for detection and recognition in OpenCV workflows.
Extract and draw contours in images using OpenCV, remove duplicate contours, and draw bounding rectangles or circles around detected controls, with rotation for tight fits.
Apply image matching using Hu-moments and vertex count to compare shapes in Python and OpenCV, achieving rotation-invariant matching with contours, rectangles, and partial matches for robust similarity scoring.
Learn how to group images with k-means clustering to form natural clusters, determine the number of clusters, and visualize results using convex hull and solidity concepts.
Learn about convexity defect and its relation to contours and convex hulls. Use OpenCV to analyze how contour shapes relate to their convex hull boundaries.
Learn to perform face detection in images using OpenCV, loading images, applying the detection function, and testing with a webcam video workflow.
Detect faces in videos by applying a classifier on video frames with Python and OpenCV, tracking detections across frames and addressing eye visibility and lighting variations.
Explore image denoising in Python and OpenCV by examining a local window around each pixel, handling grayscale and color images, and using color confidence to guide noise reduction.
Learn video denoising by processing video frames, applying frame-by-frame techniques, and using information from the last four frames to reduce noise and improve clarity.
Learn feature detection by identifying corners and color blocks, describing them with feature descriptions, and exploring techniques like surf as patterns move across images.
Explore the Harris corner detector, a top corner detector using a two-by-two neighborhood and eigenvalues to identify image corners and guide detector choice.
Learn Harris corner detection with sub-pixel accuracy to locate hard corners, refine their centers with centroid computations in a binary image, and visualize results with color-coded centers.
Explore the Shi-Tomasi corner detector and good features to track. Compare its performance with Harris and learn how to select and track strong corners in video sequences.
Compare SIFT and SURF in image processing, noting patent and performance limits, and explore open-source FAST as a faster alternative for mobile and OpenCV workflows.
Explore the fast features from accelerated segment test (FAST) for rapid keypoint detection, apply non-maximum suppression to select strong points, and implement with OpenCV in Python.
Discover how ORB corner detectors detect and describe keypoints, draw matches, and perform robust image comparison across different angles using open source Python and OpenCV.
This lecture introduces image matching, teaching how to determine if two images are the same despite lighting or blur, using basics of image processing and data augmentation.
Explore image matching after erosion and dilation, using structural similarity to compare original and processed images in Python and OpenCV.
Extract faces from images and compare them using similarity scores to determine if two pictures show the same person, even across years, using locality-sensitive techniques.
Trace the history of object detection from 2001 papers to 2012–2014 breakthroughs, highlighting the shift to CNN-based detection and faster methods like Faster R-CNN.
Install and run a pre-trained object detection model, configure your environment, and follow step-by-step commands to enable detection using Python and OpenCV.
Set up object detection models for Python and OpenCV by selecting among six published models, downloading the right version (2.0), and ensuring an internet connection with adequate bandwidth.
Learn object detection on images by using a model to predict bounding boxes and class probabilities, then visualize results with detection boxes and labeled people, elephants, and horses.
Detects people in video frames and measures pairwise distances to assess social distancing, highlighting violations with color-coded rectangles and configurable distance thresholds.
Learn to track a person in a video by selecting the target, initializing a tracker, and monitoring one or multiple objects across frames.
Prepare data for image processing by loading a 60,000-image handwritten digit dataset, extract hog features, flatten 28x28 images to 784 features, and ensure reproducible code.
Build a linear support vector classifier with LinearSVC, training with fit and predicting outcomes for classification tasks, then evaluate performance using a confusion matrix and accuracy.
Train a random forest classifier, tune its tree depth and number of trees, and evaluate predictions with confusion matrices and accuracy insights in image processing and vision tasks.
Split the image into individual digits, convert to grayscale, blur, and threshold to binary, then extract features and classify each handwritten digit one at a time.
Learn to extract digit regions from video frames, preprocess them to binary, and apply a handwritten digit predictor using OpenCV in Python.
Predict digits in video frames by processing black-and-white images, extracting rectangle coordinates, dilating for clarity, and applying a classifier per image to improve accuracy.
Explore image segmentation, a process that partitions an image into meaningful regions using clustering, detection, and feature-based methods, and relate it to client needs and video segmentation.
Learn color quantization and color segmentation in image processing, using clustering to reduce colors and reveal color-based clusters and their centers with practical OpenCV techniques.
The Image Processing and Computer Vision world is too big to comprehend. It has been backbone of many industry including Deep Learning. It is used across multiple places. As practitioner, I am trying to bring many relevant topics under one umbrella in following topics.
1. Image Processing with Python (skimage) (90% hands on and 10% theory)
2. Image Processing and Computer Vision with OpenCV (90% hands on and 10% theory)
3. Morphological operations with OpenCV (90% hands on and 10% theory)
4. Face detection with OpenCV (90% hands on and 10% theory)
5. Feature detection with OpenCV (90% hands on and 10% theory)
6. Image matching with skimage (90% hands on and 10% theory)
7. Object detection with OpenCV (90% hands on and 10% theory)
8. Digit recognition with OpenCV (90% hands on and 10% theory)
9. Autonomous vechile detection and movement. (90% hands on and 10% theory)
10. Deep learning concepts useful for Image Processing and Computer Vision. (90% hands on and 10% theory)
11. Python practice from Data Science point of view. (90% hands on and 10% theory)
12. The assignment will make you hands-on in Image Processing and Computer Vision.
13. ML practice useful for Image Processing and Computer Vision. (90% hands on and 10% theory)
14. Many other useful topics in Image Processing and Computer Vision. (90% hands on and 10% theory)