Thinning by morphological operators
Use morphological operators to thin the given shapes in grayscale. Design
your operator (or structuring element) to handle artifacts, e.g. supirious
branches.
What to put into the report
Describe your thinning algorithm; note that
you must extend your thinning algorithm into grayscale world. Put your
structuring element into the report.
Sample images
Sample images are grayscale images with some texture and
some text content.
Feature extraction for classification
Extract the features of the shapes below by using either chain codes or
polygonal approximation.
Classes
The shapes will not be rotated, however they can be anywhere in
the image. The bounding boxes of the letters (i.e. the box with minimum size
which can contain a letter) will not overlap, for simplicity. The
shapes will be so that the bounding boxes will fit between 100x100 and 300x300.
The class representatives given below are not the idealized shapes, they are put
just to give you an idea about the work to be done.
- A
- C
- E
- F
- G
- I
- J
- L
- M
- N
- O
- Q
- S
- T
- U
- V
- Z
Hints
Note that these characters are a simple subset of the Palm graffiti
characters, however you do not have any temporal information (i.e. how the
stylus moves) about the letters as a disadvantage. This subset contains letters
which does not have any self intersection(an X self-intersects) and therefore
these characters can easily be chain-coded or approximated with polygons.
Implementation Details
Since this course is not a pattern recognition course, I will provide you a
simple classifier. (will be ready by 22 Dec 2000) You may also write your own
classifier and share with others, provided that you post your code in the
newsgroup.
What you will output is not an image, for this part. You will printf () the
sequence of symbols you recognize, the order of the letters are not
important.
The training data to for classifiers (if needed) will be available here
soon.
What to put into the report
Describe your feature extraction scheme.
Express your reasons on the choice of representation (eg. why chain coding?). If
you have written your own classifier, you must describe your classifier, too.
Report
Your report should be less than three pages, with no limitation
in number of figures and tables, but it must not get oversized (to make things
easy, no cover pages). The reports should be either in PostScript (ps.gz and
ps.Z are also OK) or PDF (preferred) formats, which means there's no need for a
hardcopy. The report must include the items explained above to be complete. You
may also submit a hardcopy report, if it gets huge in PostScript format, or if
you cannot provide a PostScript file.
Submission
The assignment is due 11/01/2001 midnight and to be
submitted with submit466. Late submissions will not be accepted.
The following items are required to be submitted in a .tar file:
- The report, you can give a hardcopy if you cannot provide a
.ps file viewable with ghostview. Hardcopy reports are due
12/01/2001, 12:00.
- A Makefile to compile your filters, based on the one provided, only
changes to SRCS1 (for part 1), SRCS2 (for part 2), CFLAGS, CC
and LDFLAGS are accepted, i.e. you can only change compiler/linker parameters
and source filenames. The output filenames must remain unchanged.
- Source files.
The tar file should not extract in a directory, i.e.
you should
cd myHomework; tar cvf ../submission.tar src1.c src2.c src3.c
Makefile report.pdf
rather thantar cvf submission.tar
myHomework/
Evaluation
The evaluation scheme is the same as the evaluation in the
previous three assignments.