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 by TA.
b. Alternatively, you can implement the above by yourself
c. Add updated 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 Grey Level 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 at least three non-overlapping ROIs per image. If overlap is requested, that ROI
processing should not complete and, hence, smaller number of ROI is processed. [2 points]
b. Modify two-valued thresholding function (from HW0) to operate only within specified ROI(s). Allow different
thresholds for each ROI. [1 points]
c. Implement uniform smoothing filter operation using square odd window size (WS). Implement adaptive
processing when smoothing window is close to the ROI boundary by progressively reducing window size all
the way to 3×3 [3 points]
3. Processing of Color Images
a. 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 of all operation
• discuss results of color processing
How to submit
• Submit paper report in class on the due date
• See TA help desk for instruction on program submission and testing.