
Learn digital image processing in C++ by implementing grayscale, histogram equalization, luminance, and filters like gauss and Sobel, coding all techniques from scratch with OpenCV for pixel extraction.
Learn to store image pixels in OpenCV with a C++ class using 2D and 3D pointers for grayscale and color images, including get and set pixel methods.
Implement a C++ image class with OpenCV. Initialize in the constructor, allocate memory for grayscale and color images, and provide get pixel and set pixel methods.
Learn how images are stored as a pixel matrix with 8-bit values from 0 to 255, iterated with i and j, and processed by single or two-image operations.
Engage with the course by using the Q and A to ask questions; the instructor answers any course-related inquiry, with updates across reviews, learning tools, announcements, and overviews.
Explore declaring and organizing image processing techniques in OpenCV C++, learn how single-image and two-image operations are mapped to functions, and how command line arguments drive the main processing loop.
Install OpenCV in Visual Studio 2022 by downloading and extracting the library, updating the system path, and configuring include and library directories, then link OpenCV libraries for a release build.
Install OpenCV and Visual Studio following the course video, read an image into a matrix, and copy pixels into your own image class by iterating rows and columns.
Convert a colored image to grayscale in OpenCV using the 0.3, 0.59, and 0.11 formula and per-pixel loops, then build and display grayscale and RGB images.
Learn to horizontally and vertically flip an image in OpenCV using C++, constructing a new image and applying pixel mapping formulas, then briefly explore rotating left and right.
Apply left rotate and right rotate of an image matrix in OpenCV C++ by creating a new image and swapping i and j. Compare with horizontal and vertical flips.
Learn binarization by automatic thresholding using histogram analysis, comparing within-class and between-class variance to produce binary black-and-white images.
Compute grayscale image histogram, optimize the threshold by maximizing between-class variance (Otsu method), then binarize the image by mapping below threshold to 0 and above to 255.
Convert images to binary using binarization and thresholding, then apply logic operations—and, or, xor, nand—on zeros and 255s, merging results through addition and subtraction.
Apply linear contrast and saturation using max-min pixel values, adjust brightness, scale images, and perform histogram equalization in OpenCV C++.
Explore how convolution applies a kernel over an image, sliding a mask across pixels, handling overlap, and computing the weighted sum with 3x3, 5x5, and 7x7 kernels.
Implement convolution on images using 3x3 kernels, compute the center, and apply the mask to produce filtered results with 2d convolution concepts and common filters like sharpen and edge detection.
This course teaches digital image processing using the C++ language. Twenty three image processing technique from scratch without the use of any external libraries will be implemented throughout the lessons. However, C++ does not have the capacity to open and read image pixels. Therefore we use openCV in this course to open an image, read its pixel, and display a new image. This makes this course very flexible as any alternative library can be used to perform this simple task while leaving you with the bulk of the job to build from scratch.
By the end of the lesson, the student will be able to manipulate image pixels, by changing their colour intensities , forming new images from pre-existing images, store image pixels using a 2D and 3D pointer array stored within the image class, some of the technique we will implement will include:
luminance
Convolution
linear contrast
Edge detection
Otsu binarization
image sharpening
Image thresholding
Gray Scale conversion
histogram equalization
Left rotate, Right rotate
linear contrast saturation
vertical flip, horizontal flip
Filtering ( Instagram filter)
sharpening, Laplacien convo
image addition, image subtraction
Adjusting brightness and contrast
logical And, logical Or, logical Xor, logical Nand
Scaling image (increasing and decreasing the size of an image)
Erosion, Prewitt filter, Sobel filter, Gauss filter, Robert filter, smoothening filter,