$30
This project is about image segmentation techniques that make use of the detection of edge points or image gradient information. Choose at least four test images from those supplied for the previous assignment. You can add your own test images as well.
Task #1: Edge detection. Try the various gradient filters on the images as well as the LoG method and see what happens. Threshold the gradient magnitudes to find the candidate edge points. Try to compare the results, such as how meaningful the edge points are. Also experiment with how preprocessing (smoothing, contrast adjustment, etc.) affects the process of edge detection.
Task #2: Choose only ONE of the following:
(1) The implementation of Canny edge detector. Study the effect of the two thresholds. Compare the results to those of task #1.
(2) The implementation of Hough transform for straight edge detection. You can use the edge points after thresholding the gradient magnitude image as inputs. You can also skip the thresholding and just use the gradient magnitude as the "weight" for each pixel. Optional here: Can you find a simple method to separate individual line segments that are parts of the same global line?
(3) The watershed algorithm for segmentation. Check how smoothing affects the results. Try this on color images as well. You will need to define "magnitude of gradient" for color images.
The rules about allowed programming environments, limitations on the usage of library functions or external codes, and the submission of your report are the same as those given in the first programming assignment. You can reuse whatever functions you have implemented for the first assignment.