Due: Late (*) Monday, December 03.
(*) "Late" means that the
instructor might start grading by 8AM Wednesday. Once the instructor starts
grading, no more assignments will be accepted.
10 points
This assignment should be done individually
You can do the programming parts of this assignment in any language you like, although if your results are anomalous, and the grader does not speak the language you use, they may be less able to quickly figure out what the problem is and give you reasonable part marks.
Regardless of what language you use, please follow the instructions linked here carefully.
Deliverables
within questions are flagged with ($).
This
assignment has 2 regular questions worth 6, and 4 points respectively, and an
extra question for 2 bonus marks. ,
Before you start reading and get
confused by the details of the application, you may want to consider how you will
do two basic building blocks: 1) drawing circles on an image; 2) drawing a
circular disc (i.e., providing a filled in circle). Looking these up on the
web, or finding a Matlab tricks do to them is OK (for the second, you could have
a look at the function “fspecial”.
Now use convolution or filtering (e.g.,
Matlab imfilter)
to run the filter over the image, and provide an image of the result. Likely
you will need to scale the image to visualize the filtered result ($). Now
create an algorithm that goes from the filtered result to a count of the coins.
You could set a threshold, and investigate “connected components” in Matlab.
Provide some details and/or visualizations of your program, as well as the final
answer (how many coins?) and a visualization the final result. For this, draw
circles over the image where your program thinks the coins are ($).
Run your program on these additional
images
coins-2.jpg coins-3.jpg coins-4.jpg coins-5.jpg coins-6.jpg
with appropriate presentation of the
results ($). You likely will need to either change the circle size, or step
through circle sizes and figure out a way to declare so that you can output
coins at different sizes. This is tricky to do well, and doing more than simply
manually setting the parameter could lead to bonus points if you explain what
you did and present results in a reasonable way. Alternatively, you could scale
the image sizes so that the coins in all of them are about the same size. I
expect that your program will not handle these images equally well, and you
should identify and comment on failed results ($). If you are pressed for time, you might
consider skipping this part for now, and carrying on with parts 2 and 3
You now have four new filters, two of them which have a sigma parameter that
you can play with. Apply these filters to the images from the preceding questions
and report some results and visualizations of the results ($). Are you able to
count coins better? Note that when you make changes to one part of an algorithm
(here the filters), you need to consider whether other parts (e.g., thresholds)
need to be changed as well.
Consult
the instructions linked here for conventions for preparing and handing
in assignments. In 2012, hand in assignments via email to Kyle Simek
(ksimek@email.arizona.edu).