The purpose of this homework is to introduce you to the basic image manipulation techniques and to experiment with
image smoothing and binarization techniques.
Your program should be able to do the following:
1. General modification
a. You are to add all new processing to the image manipulation program provided as sample project code on TA
website (or you are free to recreate sample project capabilities)
b. Keep/improve (from sample assignment) access to parameter file containing list of images, specification of
the function to perform on each image, and set of parameters for each image. [1 point]
2. Processing of Images
a. Implement rectangular region of interest (ROI) selection by specifying pixel location (X,Y) of the left-top
pixel of ROI and ROI size (Sx,Sy). Each of the following operations should be performed in ROI and
combined image generated. Allow for up to 3 ROI per image. [2 points]
b. Modify basic thresholding function to operate only within specified ROI(s). Allow different threshold for
each ROI. [2 points]
c. Implement uniform smoothing filter operation using square odd window size (WS). Program two
implementations: (a) regular 2D smoothing and (b) separable 1D smoothing. Note that filter should be applied
within ROIs only. Allow different WS for each ROI. [2 points]
d. Add color binarization option to your image processing toolbox. Let threshold TC be user defined input
parameter. For color images, consider TC be a distance from user defined color C(CR,CB,CG) in RGB space.
Set all pixels within TC distance to “white” and the rest to “black”. This function should operate within
specified ROI with different parameters for each ROI. [3 points]
Write the report for this assignment
• create a “readme” file specifying format of the parameter file, describe all parameters and all run options (include
in written report)
• give an example of the parameter file set to process with several images with varying functions and parameters.
• describe all operations and your implementation
• include input and output example images for each function implemented (use several gray level and color images
and at least two different thresholds as appropriate, multiple ROIs, etc)
• discuss results and performance (including execution speed) of uniform smoothing operation
• discuss results of color binarization
How to submit
• Submit paper report in class on the due date
• See TA help desk for instruction on program submission and testing.