Title: ECE 552 Multiple Image enhancement Techniques
1ECE 552 Multiple Image enhancement Techniques
- Team BLUE
- Deepak Jayaram
- Jayanth Kruttiventi
- Naresh Karnam
- Vikas Y V
2Contents
- Objective.
- Enhancement Techniques.
- Project Flow.
- Explanation of each technique.
- Simulation waveforms.
- Problems Faced.
- Distribution of work.
3Objective
- Implement various Image Enhancement techniques on
an image on the AMIRIX board. - Simulate the techniques using MATLAB/C compiler
on the image. - Compare and contrast the results.
4Enhancement Techniques
- Noise Removal from a corrupted Image.
- Contrast Stretching of a Noise-free Image.
- Histogram Equalization of the Image.
5Project Flow
6Noise Removal
- An Image corrupted by Gaussian Noise is taken and
averaged using an Averaging filter. - The filtering of the noise is done by using a
mask of 33 mask with all the coefficients being
one.
Noisy Image
Noise-Free Image
7The Masking Process
- The mask is applied to each pixel of the image
and averaged.
Doutbuf(31 down to 24)
Doutbuf(23 down to 16)
Doutbuf(15 down to 8)
Doutbuf(7 down to 0)
8Flowchart
Scan every pixel in the image, 8 pixels at a time
and read 3 neighborhood rows
Calculate the Average intensity values from the
33 neighborhood pixels and assign it to the
center pixel
Increment the address to be written by 4096 to
store the averaged values in a new location, 4
pixels at a time
9Image obtained through VHDL for input image of
size 512x512
10Contrast Stretching
- The Noise Free Image obtained from the above step
is then enhanced using this method. - This is a point based image processing technique
which involves multiplying the intensity of each
pixel with a slope (m) and adding a constant (b)
to it. - The formula is given by New m Old b
Noise Free Image Contrast
Stretched Image
11Flowchart
Scan every pixel in the image, 4 pixels at a time
Multiply intensity level with a slope and add an
intercept
Is new level gt 255?
Y
N
Assign the new intensity value to that pixel
Set the new intensity value to that pixel to 255
12Histogram Equalization
- The histogram of the Image obtained from the
previous step is plotted and it is equalized
between the maximum and minimum intensity levels
of the image. - The equalized values are again applied to the
image to obtain the final image.
Contrast Enhanced Image
Histogram Equalized Image
13Flowchart
Scan every pixel in the image, 4 pixels at a time
Count each distinct pixel value in the image and
store them in an array, incrementing each array
element based on pixel intensity
Calculate the sum of all intensity values for
every gray Level from 0 to that gray level.
Normalize the array by multiplying each array
element by its maximum pixel value divided by
Total no. of pixels.
14Histograms
Histogram Of the Final Image
- Histogram of Contrast Enhanced Image
15Simulation ResultsNoise Removal
16Simulation ResultsContrast Stretching
17Simulation ResultsHistogram Equalization
18Problems Faced
- When the masking technique was implemented in
VHDL, the logic worked perfectly with the
simulation results validating it. However, when
the logic was implemented on the Pilchard
machine, the resulting image seemed to be written
only once every 4 bytes. This lead to the image
having black bars in between. - The rewriting of the averaged values requires
new memory locations since the previous values
should be used for the next iterations. Also the
next 3 average values would also be required in
order to write back one finished line. - The mask being a 33 in size, it required
reading of 9 pixels in 3 consecutive rows at a
time from the DPRAM. - In Contrast Enhancement, the math operational
logic worked perfectly during simulation, however
it resulted in error during synthesis. The
Synopsys version was not able to support few
operations like power etc.. - Securing a connection to the Pilchard
machines and trying to get hold of the Kermit
process before anyone else does was the biggest
problem of all!!! ?
19Distribution of work
- Chakradhar/Naresh Noise removal
- Vikas Contrast Stretching
- Deepak Histogram Equalization
- All of us together Data transfer problems and
rectifications.
20Thank You!!