In this homework you are required to implement Hough transform to detect circles in a given image. Your program is then required to create a new picture from the original one. This new picture is same size as the original picture but only contains parts from the original image which lie inside circles. You are required to find only artificial circles. Consider the following image:
original image![]() |
desired image![]() |
Write a report detailing your implementation. Describe your optimizations and additional processing on image and discuss their use.
Your programs this time will be evaluated for performance as well as correctness. Here is the grading policy for this homework:
|
CORRECTNESS |
based on number of correct circle detections | 30% |
| REPORT QUALITY | 40% | |
| PERFORMANCE | based on time it takes for circle detections and number of correct detections. Here <correctness> is a number in range [0-1] and it is the percentage of successful detections. | 30%*<correctness> |
You will use matlab for this assignment. You MUST implement of Hough transform but you can use other operations from Matlab. Your main file should be named
hw3.m
but you can use any number of other files. function 'hw3' should accept 2 parameters. First for input file name and second for output file name. use 'imread' and 'imwrite' functions of matlab for file IO. hw3 computes the desired image, saves it to output file and returns it. return value should be an image matrix whose dimensions are same with the original image.
res=hw3('imgin.jpg','imgout.jpg');
|