Skip to content

Latest commit

 

History

History
51 lines (38 loc) · 2.88 KB

README.md

File metadata and controls

51 lines (38 loc) · 2.88 KB

Computer Vision Notes and Exercises

Computational Vision & Imaging

University of Birmingham - Spring 2022

Overview

This repository contains my notes and lab exercises for the Computational Vision & Imaging module provided by the University of Birmingham. Lab exercises contain MATLAB code which is also rendered as HTML document for each lab session for visual reasons. This is my personal practice of writing LaTeX documents and coding in MATLAB.

Note: notes.md file should be checked with an enhanced markdown previewer, such as VS code (using extension Markdown All in One) for colors and latex equations.

Solutions

Labs

  • Lab 1: Edge Detectors. (Done)
  • Lab 2: Noise Removal. (Done)
  • Lab 3: Hough Transform. (Done)

Feedback

Lab 1

Criteria Comments
QUESTION 1: What do you notice regarding the effect of changing the threshold? Excellent answer and very well put together!
QUESTION 2: What do you notice regarding the difference between Sobel and Roberts? Great observations and explanations. Additional points to consider are Roberts can better detect “\” and “/” edges due to the values within the filter. Computationally Roberts is faster to compute than Sobel because it is a 2x2 matrix while Sobel is a 3x3 matrix Finally, observe the values in the SobelX and SobelY are weighted closer to the centre pixel which reduces noise within the feature map.
QUESTION 3: What do you notice regarding the difference between magnitude and absolute when calculating the edge? Excellent answer again and very well presented. Please submit snippets of your code in Appendix for us to give feedback

Examples

Lab question example

Question: what happens to the edges in the heavily blurred case after applying gradient operators, such as Sobel operators?

Answer: thicker edges stand out more and thinner edges almost disappear. This is because thin edges may sometimes be confused with noise which gets averaged out after heavily blurying an image. Strong edges, on the other hand, remain standing out (i.e., they are surrounded by more values indicating an edge region) therefore the gradient operator captures the changes and emphasizes them.

Lab code example

Task: combine the idea of the Laplacian operator with the idea of Gaussian smoothing.

% Get LoG filter, apply to image and apply zerocross
log_filter = conv2(laplacian, gaussian_filter_5x5);
I_in = conv2(log_filter, shakey);
I_out = edge(I_in, 'zerocross');

% Show the result
show_image(I_out, "log_zerocross")