Description
1 Image Acquisition (5 Points)
Using a cellphone camera or a standalone digital camera, capture two images of a household object,
where each image of the object is taken from a different viewpoint. These images can be of any size.
An example of such an image pair is shown below:
Please note that all assignments are to be done individually (not in groups), and so you must
acquire your own images. Do not share images or copy someone else’s images!
You will be using these images, as well as the processed images, in some future assignments, so it is
important to do all the steps correctly. Display the original images in the assignment’s Jupyter notebook.
2 Convert to Grayscale (5 Points)
If your images are color (RGB), convert them to Grayscale, by averaging each pixel’s R, G, and B values.
Display the grayscale images in the assignment’s Jupyter notebook.
3 Smooth the images using Gaussian smoothing (10 Points)
Smooth the pair of grayscale images using a 5×5 pixel Gaussian kernel. Then repeat the smoothing on
the original grayscale images, this time using a 11×11 Gaussian kernel. Display the smoothed images in
the notebook.
4 Compute Image Gradients (10 Points)
Compute the x and y derivative images of the smoothed images using the horizontal and vertical Sobel
filters. Display the derivative images in the notebook.
5 Compute the Edge Magnitude and Orientation (10 Points)
Compute the edge gradient magnitude and orientation of the smoothed images using the Sobel filter
values. Display the magnitude and orientation images in the notebook. For the orientation image, display
the angle value using an RGB colormap, such as ‘jet’ in the imshow() function (e.g. something like
ax.imshow(data, cmap=’jet’) ).
Details about matplotlib colormaps, including other colormaps you can try, can be found at:
https://matplotlib.org/stable/tutorials/colors/colormaps.html
6 Canny Edge Detection with opencv (10 Points)
Setup opencv in your colab or home computer environment (go to the Tutorial to learn how to do this).
Use the Canny edge detector implementation in opencv to compute the Canny edge detector on your
smoothed images. (look at https://docs.opencv.org/3.4/da/d22/tutorial_py_canny.html for details).
Plot the Canny detector output images in the notebook.