Learn the basics of Image Processing Step by Step with me!!!
Lab1:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/Lab1.pdf
See how you can import an image and do basic operations like changing the format, mode, rotate,crop,etc, using the inbuilt functions from PIL. Use the help of https://pillow.readthedocs.io/en/3.1.x/reference/Image.html to understand PIL library.
Lab2:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/labsheet2.pdf
Now that you know how to input an image and do basic operations using PIL, we will learn some basics of signal operations. You could refer the text "Signals and Systems", by Oppenheim and Schafer for this. So, this labsheet will let you understand basic signal shifting and scaling in timedomain. Practice convolution by writing your own inbuilt function and compare with the inbuilt function convolve and convolve2d of numpy or scipy libraries. Have fun learning the properties of convolution!!!
Lab3:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/labsheet3.pdf
This labsheet helps you understand what happens when you sample an image and then reconstruct it from the samples. Also you will learn about Singular Value Decomposition or SVD, which can be used to find the energy present in the image, which can help in image processing like denoising (If you understand the lower singular values to be contributed due to noise, if you do Low Rank Approximation, you are in effect removing the noise content in the image). Reconstruct the image back from your SVD. This is a good paper to see how you can use SVD for denoising. https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7067415
Lab4:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/labsheet4.pdf
This labsheet is about finding the different Image transforms: Discrete Fourier Transform, Discrete Cosine Transform, Haar Transform, Hadamard and Walsh Transform.
Lab5:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/labsheet5.pdf
A histogram lets you understand the frequency of the each pixel intensities in the image and hence lets you know about the contrast of the image. You can even do thresholding using histograms which can help in image segmentation. This labsheet is about basic Image Enhancement Techniques and an introduction to Histogram Processing.
Lab6:
https://github.com/spjohn/Image_Processing_Basics_labsheets/blob/master/labsheet6.pdf
This labsheet is the continuation of Lab 5. Here you will work on Histogram Equalization, Histogram Matching, Power Law and Log transformations and 2D filtering. You can refer the textbook "Digital Image Processing", by Gonzalez, Woods to learn these concepts.