/opencv-course

Learn OpenCV in 4 Hours - Code used in my Python and OpenCV course on freeCodeCamp.

Primary LanguagePythonMIT LicenseMIT

OpenCV with Python in 4 Hours

Notes and code used in my Python and OpenCV course on freeCodeCamp.org. You can find me on Twitter for more info on courses I'm working on currently.

Important Updates:

caer.train_val_split() is a deprecated feature in caer. Use sklearn.model_selection.train_test_split() instead. See #9 for more details.

Course Outline (with timestamps)

1. Installation

Besides installing OpenCV, we cover the installation of the following package:

Caer is a lightweight, high-performance Vision library for high-performance AI research. It simplifies your approach towards Computer Vision by abstracting away unnecessary boilerplate code giving you the flexibility to quickly prototype deep learning models and research ideas.

$ pip install caer

2. Basic Concepts:

  • Reading Images and Video (0:04:12)
  • Resizing and Rescaling Images and Video Frames (0:12:57)
  • Drawing Shapes and Placing text on images (0:20:21)
  • 5 Essential Methods in OpenCV (0:31:55)
  • Image Transformations (0:44:13)
  • Contour Detection (0:57:06)

3. Advanced Concepts:

  • Switching between Colour Spaces (RGB, BGR, Grayscale, HSV and Lab) (1:12:53)
  • Splitting and Merging Colour Channels (1:23:10)
  • Blurring (1:31:03)
  • BITWISE operations (1:44:27)
  • Masking (1:53:06)
  • Histogram Computation (2:01:43)
  • Thresholding/Binarizing Images (2:15:22)
  • Advanced Edge Detection (2:26:27)

4. Face Detection and Recognition

  • Face Detection using Haar Cascades (2:35:25)
  • Face Recognition using OpenCV's LBPHFaceRecognizer algorithm (2:49:05)

5. Capstone: Deep Computer Vision

  • Building a Deep Computer Vision model to classify between the characters in the popular TV series The Simpsons (3:11:57)

Credits

The images in the Photos and Videos folders were downloaded from Unsplash and Pixabay, unless otherwise mentioned.

The images in the Faces folder were procurred from a repo on Kaggle.