Skip to content

aypy01/opencv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Computer Vision with OpenCV


Typing SVG


This repository is a complete, modular, and progressive deep dive into OpenCV for beginners and intermediate developers. Each section builds upon the last with clear code and hands-on demonstrations.

Built for those who value practical learning over heavy theory, and for learners who don’t always have access to premium resources. This course moves from foundational image operations all the way to deep learning–based pose estimation.

01 Introduction to OpenCV

View Module on GitHub

Understand how to load, display, and save images using OpenCV. Learn about BGR vs RGB formats and how to integrate images into basic Python workflows.

Key Topics

  • Reading and writing image files
  • Displaying with cv2.imshow() and matplotlib
  • Image properties and color space conversion

02 Image Manipulations

View Module on GitHub

Explore geometric transformations that are the building blocks for advanced vision tasks.

Key Topics

  • Image resizing, flipping, cropping
  • Image rotation and affine transformations
  • Drawing on images using shapes and text

03 Image Annotation

View Module on GitHub

Learn how to annotate images for debugging, visualization, or data labeling.

Key Topics

  • Overlaying text
  • Drawing bounding boxes and landmarks
  • Practical uses for annotations in ML pipelines

04 Image Enhancement

View Module on GitHub

Tweak and improve the quality of images for better processing outcomes or presentation.

Key Topics

  • Contrast and brightness adjustments
  • Histogram equalization
  • Color correction and normalization

05 Accessing the Camera

View Module on GitHub

Go beyond static images. Capture live input from your webcam or external video sources.

Key Topics

  • Capturing video frames
  • Frame-by-frame processing
  • Keyboard input handling in real-time

06 Video Writing

View Module on GitHub

Record processed output to video files using OpenCV’s video encoding capabilities.

Key Topics

  • Using cv2.VideoWriter()
  • Handling codecs and formats
  • Combining real-time processing with recording

07 Camera Filters

View Module on GitHub

Discover how filters transform images and how edge detection reveals structure.

Key Topics

  • Blurring with Gaussian, median, and bilateral filters
  • Sharpening images
  • Edge detection using Sobel, Laplacian, and Canny algorithms

08 Image Alignment

View Module on GitHub

Align multiple images into the same visual perspective by matching key features and applying homographic transformations.

Key Topics Covered

  • Detecting keypoints using ORB
  • Computing feature descriptors for each image
  • Matching features using Brute-Force based matchers
  • Estimating homography using matched points and RANSAC
  • Warping images to align perspectives accurately

09 Panorama

View Module on GitHub

Automatically stitch overlapping images into a seamless panorama — without needing a tripod.

Key Topics

  • Feature detection with ORB
  • Homography estimation
  • Image warping and stitching pipeline

10 Object Tracking

View Module on GitHub

Follow objects across frames using OpenCV’s object tracking APIs.

Key Topics

  • Multiple built-in trackers like KCF, MIL, CSRT
  • Initializing bounding boxes
  • Tracking performance and reliability

11 Face Detection

View Module on GitHub

Apply pretrained Haar Cascades and DNN models to detect human faces in images and video.

Key Topics

  • Haar Cascade classifiers
  • Deep learning–based face detection
  • Detection in video streams

12 Object Detection

View Module on GitHub

Use deep learning models like MobileNet SSD to identify objects in real-time.

Key Topics

  • Using pretrained TensorFlow models
  • Loading models with cv2.dnn.readNetFromTensorflow()
  • Drawing bounding boxes and class labels

13 Pose Estimation using OpenPose

View Module on GitHub

Detect human body keypoints and draw a full skeleton overlay using OpenPose in OpenCV.

Key Topics

  • Preprocessing images for pose models
  • Confidence map extraction
  • Connecting keypoints into pose graphs
  • Visualization of detected skeletons

How to Use This Repo

Each folder/module contains:

  • Python scripts with step-by-step code
  • Annotated explanations as comments
  • In most cases, links to run in Google Colab

Acknowledgements

Credit goes to the OpenCV community and especially to Satya Mallick for foundational contributions to OpenCV learning resources.

Why This Exists

“Culture shouldn't exist only for those who can afford it.”
— Hakita, ULTRAKILL

This course was created with that mindset. Open source, accessible code and educational content should be for everyone — not just for those behind a paywall or with perfect setups.

If this repo helps even one more developer learn computer vision with limited resources, it has served its purpose.

Final Note

The course ends here — but your journey doesn't.

Fork this. Break it. Improve it. Rebuild it in your style.

Projects begin where tutorials end.


Author

Created and maintained by   Aaditya Yadav  GitHub Badge

Typing SVG