Skip to content

This repository includes the labsheets which you could implement in Python or Matlab or C, to learn Image Processing step by step.

Notifications You must be signed in to change notification settings

spjohn/ImageProcessing-Basics

Repository files navigation

Image_Processing_Basics_labsheets

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.

About

This repository includes the labsheets which you could implement in Python or Matlab or C, to learn Image Processing step by step.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published