$30
Project 3 of CSE 473/573
Guidelines
1. You can choose any programming language you feel comfortable, while python is highly
recommended.
2. For all tasks1, you cannot directly use dilation, erosion, open and close library. All the other basic
libraries are allowed to use. For task2, you cannot use histogram library, but you are allowed to use
plotting library to show your results in figure.
3. Images for all three tasks will be uploaded to Piazza. You should ONLY use the images uploaded to
Piazza to test you programs and obtain results that you are to include in your report.
7. You need to work on this project independently and plagiarism will be penalized.
Submission requirement:
1. A hard copy of your project report. In this report, you are asked to show your results and list
your answers to all the questions asked in your project.
2. A .zip file are asked to upload to UBlearns before Dec. 03, 3:00 pm, which should include your
project results, report and source code.
1. Morphology image processing [5’]
(a) Using two morphology image processing algorithms to remove noises of the image below,
save the results and name as ‘res_noise1.jpg’ and ‘res_noise2.jpg’. (2’)
(b) Please compare the two results, and indicate are they the same in your report. (1’)
(c) Using morphology image processing algorithms to extract the boundary ‘res_noise1.jpg’ and
‘res_noise2.jpg’, save the results and name as ‘res_bound1.jpg’ and ‘res_bound2.jpg’. (2’)
p.s. Show all the results images and your answer in your report.
morphology.jpg
2. Image segmentation and point detection [5’]
You are given two images, i.e. ‘segment.jpg’ and ‘point.jpg’
(a) The ‘point.jpg’ is a X-ray image of a turbine blade with a porosity. Using the point detection
algorithm, you learned to detect the porosity. Label the points and give its (if more than one
their) coordinates on the image. (2’)
(b) Choose an optimal threshold to segment the object from background by thresholding on
‘segment.jpg’. Show the segmentation results, and draw a rectangle bounding box on the
segmented results (bounding box is the minimum box that covers all of pixels of the object
within it, an example (bounding box) is shown below for you to refer). Give the
coordination’s for four corner points of the bounding box you drew. (3’)
point.jpg segment.jpg
e.g. bounding boxes
3. Hough transform [5’+3’]
You are given an image ‘hough.jpg’
(a) Utilizing the Hough transformation, design and implement an algorithm to detect all vertical
(red lines), save the result image name as ‘red_line.jpg’ and indicate how many red lines you
have detected. (2’)
(b) Detect all the diagonal (blue lines), save the result image as ‘blue_lines.jpg’ and indicate
how many blue lines you detected. (3’)
(c) Detect all the coins in the image, save the result image as ‘coin.jpg’ and indicated how many
coins you have detected. (bonus 3’)
You are asked to show all the result images on your report, and discuss your results, explain
the rationale behind your approach.
hough.jpg