Problem Description:
You will implement convolution filters that can be applied to an image file.
The goal of this project is to understand filter kernels and their effect to an image.
Project Requirements: You are supposed to implement three of the following filters to get the full credit.
Each one of the is equally weighted.
- Convolution filter with Partition of Unity Property: These are fileters such blur or motion blur. In this case, coefficients of
filter kernels add up to 1.
- Derivative type Filters: These are filters when applied to a constant image gives 0. In this case, direct application
of convolution filters can give you negative numbers. Therefore, in this case,
we need to make one more conversion to obtain an image consists of colors, i.e. positive numbers.
- Morphological filters: Dilation and/or Erosion filter.
Bonus: Any additional work can give you bonus points up to half of the project credit. For instance,
you can create Smart Blur or Bi-directional Low-Pass filter.
For the required parts of the project, implement your operations only using the basic programming operations such as while or
for loops and basic mathematical operations such as
addition, subtraction, multiplication, division and power. In other words,
no high level operation provided by some programming languages such as convolution is allowed.
Project Submission:
Please write the program in either Processing or Java or C
or C++. For C and C++ use OpenGL and GLUTgraphics routines for the display.
Upload your program and all essential files to webassign as a "as small as possible" zip directory.
In your program, include comments about the program and your name.
Also make sure to provide information that and instructions on how to run it.
|