One of the best things about OpenCV is that it comes with a lot of built-in primitives for image processing and computer vision operations. If you have to start from scratch and write something, you will need to define things like an image, a point, a rectangle, and so on. Almost every computer vision algorithm needs these. All of these basic structures are already built into OpenCV. They are all in the core module. Another benefit is that these frameworks are already optimized for speed and memory, so users don't have to bother about the specifics of implementation. The imgcodecs module is in charge of opening and saving image files. With a simple command, you can save the output image as either a jpg or a png file when you're done with it. When you work with cameras, you will have to deal with a lot of video files. There are different modules that take care of everything that has to do with putting and taking out video files. You can easily record a video from a webcam or read a video file in various formats. You can also set properties like frames per second, frame size, and so on to save a bunch of frames as a video file. Processes for handling images When you write a Computer Vision algorithm, you will use a lot of the same basic image processing steps over and over. The imgproc module has most of these functions. You can do things like image filtering, geometric transformations, morphological operations, drawing on images, color conversions, histograms, motion analysis, shape analysis, feature detection, and so on. In OpenCV, we only need one line to do many of these manipulatinos, as you would see in this OpenCV course. Introduction What is OpenCV? What can you do with OpenCV? Chapter 1: Setting up OpenCV Setting Up Windows How to Install Pip Setting Up OpenCV on Mac Setting Up Linux Chapter 2: Reading Images and Video How OpenCV Displays Images With Colour Spaces Reading Videos in OpenCV Chapter 3 - Resizing and Rescaling Frames Resizing Images Rescaling a Video Chapter 4 - Drawing Shapes & Putting Text on Images Starting Using Colours Draw a line Draw A Rectangle Filling the Rectangle with Colour Draw a Circle Write Text on Image Chapter 5 – Basic Functions You Must Use in OpenCV Converting An Image to Greyscale Blurring an image Creating Edge Cascade How to Dilate an Image Erosion Resize and Crop an Image Rotation Chapter 6 - Contour Detection ADVANCED SECTION Chapter 7 - Color Spaces BGR to HSV BGR to LAB BGR to RGB HSV to BGR Chapter 8 - Color Channels Splitting Channels Merging Color Channels Reconstructing Color Channels Chapter 10 – The Magic of Blurring Concepts of Blurring in OpenCV Averaging Blurring or Averaging an Image Gaussian Blur Median Blur Bilateral Blurring Chapter 11 – Bitwise Operations Create A Rectangle and Circle Bitwise AND Bitwise OR Bitwise XOR Bitwise NOT Chapter 12 - Masking Image Masking with OpenCV Chapter 13 - Histogram Computation Working with CalcHist() Method Histogram for Grayscale Images Histogram Computation for RGB Images Chapter 14 - Thresholding/Binarizing Images Simple Thresholding Adaptive Thresholding Chapter 15 – Gradients and Edge Detection in OpenCV How Do We Detect the Edges? Laplacian Edge Detector Sobel Edge Detection Section #3 - Faces: Chapter 16 - Face Detection with Haar Cascades Face Detection Haar Cascade Classifier Integral Images Detecting Faces Chapter 17 - Object Recognition with OpenCV's built-in recognizer OpenCV Built-in Face Recognizers EigenFaces Face Recognizer FisherFaces Face Recognizer Local Binary Patterns Histograms (LBPH) Face Recognizer Collecting Images Preparing training data Training The Face Recognizer Face Recognition Testing Chapter 17 – Capstone - Computer Vision Project: The Simpsons Setting Up Getting Data Training Data Features and Labels Normalize FeatureSet Create Training & Validation Data Image Data Generator Creating The Model Training The Model Testing and Predicting End Game