Assignment 1
Assignment 1
Processing)
This assignment focuses on practicing image processing concepts covered in the past
lectures, including:
Instructions:
Sample Questions:
1. Convolution: Write a function convolve(image, filter) that performs
convolution of an image with a given filter kernel. Explain the steps involved in the
convolution operation and how it is implemented using NumPy. Apply the function
with different filters (e.g., averaging, sharpening) and visualize the results.
2. Smoothing and Sharpening: Implement functions smooth(image,
kernel_size) and sharpen(image, kernel_size) that apply Gaussian and
Laplacian filters of specific kernel sizes, respectively. Discuss the impact of kernel
size on the smoothing/sharpening effect.
3. Histogram Equalization: Implement a function equalize_histogram(image) that
performs histogram equalization on the image. Explain the purpose of histogram
equalization and visualize the original and equalized image histograms.
4. Image Transformation: Implement a function translate(image, x_shift,
y_shift) or rotate(image, angle) that performs a simple translation or rotation
on the image. Briefly explain the concept of image transformation and its
applications.
Bonus: