[ IVLE ]
[ Overview ]
[ Syllabus ]
[ Teaching Staff ]
[ Grading ]
[ Tutorials ]
[ Homework ]
HW 1
>HW 2V
HW 2N
HW 2R
[ Misc. ]
You should submit your working version of the assignment by the
midnight on the due date. The IVLE workbin will accept late
submissions. Late submissions are subject the the late submission policy (read carefully).
Your submission should contain a plain .txt file called students.txt
which should have
the same format as given in the hyperlink (in fact, why don't you save
the linked file now and adapt it before you submit it?). Make sure
your files are in plain ASCII text format -- MS Word files or other
word processing files will NOT be entertained. Your team's work
should be done independently of other groups; see our classes' section
on Academic Honesty Policy if you
have questions about what that entails.
This homework specification was written by Huang Weihua. Please address your questions, concerns and answers to him.
This homework assignment is broken down into three parts. Your group needs to do all three well to do well in this assignment.
In this assignment, we are dealing with simple black-and-white images. These images are synthetic and clean, so no noise removal is required. Since arc vectorization is relatively harder to achieve, the content of the image is restricted to straight line segments only. The thickness of all the lines is 1, to make the process simpler.
Note that a straight line segment in the discrete image plane is not a single smooth segment. It actually consists of a number of short segments that are horizontal or vertical. So you need to think of a way to detect these short segments and merge them together. (Hint: all short segments belonging to the same line segment should have similar length and the same orientation.)
Now you should have a set of vectors representing the straight lines in the image. In this part, you are going to examine their relationships, namely: parallelism, perpendicularity and convergence. For the former two cases, you need to calculate the slop of the lines. For the last one, you only need to consider the distance between a pair of endpoints.
After this, you should be able to find out the following 2 shapes:
An object can be modeled by a set of components (shapes) and a set of constraints specifying the layout of the components. We already have the set of shapes. To locate an object in the given image, the remaining task is to examine the layout of these shapes. You need to give your own set of constraints that is specific enough to locate the object.
Two testing images will be provided, and you can use them to test each part of your program. In the end, we are going to use them to test your program based on two major criteria: accuracy and efficiency. You are encouraged to produce your own testing image besides these two, bonus marks will be rewarded if you do so.
Testing Image 1: A robot. | Testing Image 2: A dog standing next to a tree. |
Image Format: Bitmap only (BMP).
Preferred Programming language: C/C++, Java.
Min-Yen Kan <kanmy@comp.nus.edu.sg> Created on: Tue Feb 10 13:54:48 2004 | Version: 1.0 | Last modified: Mon Feb 16 20:35:15 2004