COPYRIGHTread.pudn.com/downloads163/doc/742245/imageenhanceinmatlab… · Web viewImages that are...
Transcript of COPYRIGHTread.pudn.com/downloads163/doc/742245/imageenhanceinmatlab… · Web viewImages that are...
Image Enhancement System on MATLAB platform.
MANAGEMENT SUMMARY
Images that are captured sometimes are not in the exact quality and standard that
some parties might want it to be. For example, a blurred image caused by unwanted
vibration during the process of capturing the subject’s image. From this mistake and
unwanted condition that cause the quality of the image to be poor it will cause precious
time and money to be wasted. Sometimes, the documentary of the whole event can be
wasted just because the image was not in a proper quality for further processing. For
example, if images that are captured during the eclipse are not sharp and blur, the
documenter for the eclipse might have to wait for another eclipse to occur just to
capture images that they needed.
Before hand, I have did my study and research on the image enhancing
techniques in order to prepare myself for the tasks that are about to be completed in the
future. So in this project, a few image enhancements technique have been implemented
so that user will get the desired image criteria that they seek for. A few algorithms have
been fitted in to suit the desired function that the user seek for in order to enhance the
quality of the image itself.
Faculty of Information Science and TechnologyMultimedia University 1
Image Enhancement System on MATLAB platform.
CHAPTER 1:
INTRODUCTION
Most of the time, image represents an object that exists in the real world and the
subject is converted in a either two-dimensional or even three-dimensional artifact. This
image usually has the similar characteristic of the object that the image represented [1].
For example, if an image of hand is being captured from a hand subject, the result of the
image created has to be exactly similar to what it being captured. If the hand has 2
fingers sticking out while the rest of the fingers are held closely to the palm, the image
has to be exactly what the subject is, which is 2 fingers sticking out while the rest of the
fingers are held closely to the palm.
Image processing refers to computer manipulation towards an image which has
been converted to an electronical file. A certain set of algorithm will then be
implemented to this image file and the result will be based on what type of algorithm is
the image file being exposed to. Being different from image processing, computer
graphics image usually are used in creation of artificial images while image processing
merely taking a real subject and manipulate it using certain type of software.
Faculty of Information Science and TechnologyMultimedia University 2
Image Enhancement System on MATLAB platform.
Image enhancement is more than creating an image that looks better than it
should be but then, sometimes it brings a lot more benefits by using image enhancement
in certain industries. For example, a bone x ray image file of an patient. Image
enhancement techniques can be applied here in order to help out doctors to trace to the
tinniest, smallest, and most detailed image file so that the doctor can trace the
problematic area on the bone itself.
Not only that, image enhancement can be applied in forensic field to help them
discover even to the smallest clue just by enhancing the quality of the image that they
have. As we all know, forensic deals from the biggest pieces of evidence to the smallest
that can be. So, it will be hard for the forensic team without those images enhancing
software that will be helping them out throughout the whole process of collecting
evidence.
After evaluating most of the problems faced by the industries that deal with
images, I can say that by gathering all the image enhancing software into one complete
product will be a great leap forward for all the industries that deal with images
everyday. By having all the functions into one complete product, these industries would
not have to go through all the troubles just to produce or acquire the quality of image
that they wanted.
Faculty of Information Science and TechnologyMultimedia University 3
Image Enhancement System on MATLAB platform.
The main objective of this system is to have four different image enhancing
functions, which are the Intensity Transformation, Histogram Processing, Linear Spatial
Filtering and last but not least, Frequency Domain Filtering or also known as Fourier
Transformation. Equipped with these 4 four functions will allows the end user to
manipulate the images that they needed to.
It is a simple program where the user will load the image desired into the
program, and from that point, the user can edit the images just by using the four
functions provided in the system. Besides that, having all four functions that are mainly
used in image enhancing scenarios, end users do not have to travel up and down
anymore to purchase four different type of compact discs that consists four different
programs each. This action itself saves not only money, but also time and energy.
Faculty of Information Science and TechnologyMultimedia University 4
Image Enhancement System on MATLAB platform.
CHAPTER 2:
LITERATURE REVIEW
This project consists of four indispensable components to be detailed, namely;
Intensity transformation.
Histogram processing.
Linear spatial filtering
Frequency domain filtering (Fourier Transform)
2.1 Intensity Transformation
The additive system or primary colours which is the red, green and blue or better
known as the RGB system is not the only way we can approach to colour but we can
also use the intensity, hue, and saturation system or known as IHS. In fact, the IHS
defines colour better than the RGB system because the IHS represents colours as nearly
as what the human eye sees.
The IHS system is based on a colour sphere where the vertical axis represent
intensity, saturation is represented by the radius and hue is being represented by the
circumference.
Faculty of Information Science and TechnologyMultimedia University 5
Image Enhancement System on MATLAB platform.
Figure 1 – Intensity, hue and saturation colour co-ordinate system.
The vertical axis which represents the intensity of the image can be measured by
the intense brightness variations that ranges from black represent by the number 0 to
white which is represented by the number 255. This axis is only measuring the intensity
of black and no other colours.
Hue means the dominant wavelength of the colour itself. Like intensity, hue can
be measured by using numbers ranging from 0 at the midpoint of red tones and the
number will slowly increases by the direction of anti clock wise along the
circumference until it reaches back to 0, which by then it will be numbered as 255 for a
complete circular motion around the circumference.
Faculty of Information Science and TechnologyMultimedia University 6
Image Enhancement System on MATLAB platform.
The purity of colours are represented by the saturation. When the saturation is at
the middle of the colour sphere, which means being 0, it means the colour is completely
impure. As the value of saturation gets higher until the maximum number of 255, the
colour of the image gets purer and more intense in colour.
This method is based on the transformation of RGB multispectral channels into
HIS (Hue-Intensity-Saturation). The Intensity component is the most important
component and can be defined as follows:
In this method, we substitute the Intensity component by the panchromatic
image and then the inverse transformation (HIS to RGB) is done. To compare the
results, all these methods were used in addition the proposed method based on wavelet
decomposition [21].
2.2 Histogram Processing
Faculty of Information Science and TechnologyMultimedia University 7
Image Enhancement System on MATLAB platform.
Histogram processing refers to the method where it redistributes all the pixel
value within an image so that the pixels are roughly equal to the number of pixels to
each of the user-specified output gray scale classes. Histogram processing not only
reduces the contrast in the very light or dark parts in the image but also increases the
contrast at the highly populated range of brightness value [2]. This technique is known
to enhance an image with the most contrast compare to any image enhancing
techniques.
How do we determine this grey scale transformation function? Assume our grey
levels are continuous and have been normalized to lie between 0 and 1. We must find a
transformation T that maps grey values r in the input image F to grey values s = T(r) in
the transformed image [18].
It is assumed that
T is single valued and monotonically increasing, and
for .
The inverse transformation from s to r is given by
r = T-1(s).
Faculty of Information Science and TechnologyMultimedia University 8
Image Enhancement System on MATLAB platform.
If one takes the histogram for the input image and normalizes it so that the area
under the histogram is 1, we have a probability distribution for grey levels in the input
image Pr(r).
If we transform the input image to get s = T(r) what is the probability
distribution Ps(s) ?
From probability theory it turns out that
where r = T-1(s).
Consider the transformation
This is the cumulative distribution function of r. Using this definition of T we
see that the derivative of s with respect to r is
Substituting this back into the expression for Ps, we get
Faculty of Information Science and TechnologyMultimedia University 9
Image Enhancement System on MATLAB platform.
for all .Thus, Ps(s) is now a uniform distribution function,
which is what we want [18] .
Figure 2 – Original image and after Histogram Processing.
Faculty of Information Science and TechnologyMultimedia University 10
Image Enhancement System on MATLAB platform.
Figure 3 – Another example of original image that went through Histogram Processing.
2.3 Linear Spatial Filtering
Linear spatial filtering is another set of function used to enhance the appearance
of an image. This function is designed to highlight or suppress specific features in an
image based on their spatial frequency [3].
Rough texture area in an image has high spatial frequency while as the smooth
area usually composed of lower spatial frequency. Rough texture are can be defined as
Faculty of Information Science and TechnologyMultimedia University 11
Image Enhancement System on MATLAB platform.
changes in tone are rapid in a small area while the smooth area has lower colour
variation.
A filtering system works by having a window of pixel such as 3x3 or 5x5 to
move along the column and row of the image and along when the window is moving
row by row and column by column, a set of algorithm is applied to change the recent
value or the pixel into a new desired end value depending on the algorithm itself.
Low pass filter are generally use to smoothen the appearance of an image where
high pass filter does the opposite where it sharpens the appearance of an image.
Figure 4 – Low pass filter.
Faculty of Information Science and TechnologyMultimedia University 12
Image Enhancement System on MATLAB platform.
Figure 5 – High pass filter.
In the spatial domain we look for differences in the gray levels between pixels,
often as an approximation of the derivative of the image function [20]. From the image
function f(x,y) one can determine the vector gradient of the image:
(f(x,y) = ( f/ x, f/ y )
= arctan2( f/ x , f/ y ) yields the direction image.
( ( f/ x)2 + ( f/ y)2 ) results in the large image, often named gradient image.
In the simplest case, one discretely approximates the derivative and the gradient
of the image as:
f/ x = f[x,y] - f[x-1,y]
g( f[x,y] ) = | f/ x | + | f/ y |
Faculty of Information Science and TechnologyMultimedia University 13
Image Enhancement System on MATLAB platform.
2.4 Frequency domain filtering (Fourier Transform)
Just like the spatial linear filtering, Fourier Transform is another type of filtering
which involves a window of pixels moving along the row and column of the image and
changing the value of each pixel depending on the algorithm applied.
Fourier Transform decomposed an image into its very own sine and cosine
components. The output of the transformation is represented by a frequency domain
while the input of an image is represented by the spatial domain equivalent [5].
Figure 6 - Example of how the Fast Fourier Transform can "clarify" points.
Faculty of Information Science and TechnologyMultimedia University 14
Image Enhancement System on MATLAB platform.
Figure 7 - Faint blood prints can often only be enhanced with the Fast Fourier
Transform
Figure 8 - The Fast Fourier Transform can also remove background patterns.
Faculty of Information Science and TechnologyMultimedia University 15
Image Enhancement System on MATLAB platform.
As we are only concerned with digital images, we will restrict this discussion to
the Discrete Fourier Transform (DFT) [19].
The DFT is the sampled Fourier Transform and therefore does not contain all
frequencies forming an image, but only a set of samples which is large enough to fully
describe the spatial domain image. The number of frequencies corresponds to the
number of pixels in the spatial domain image, i.e. the image in the spatial and Fourier
domains are of the same size [19].
For a square image of size N×N, the two-dimensional DFT is given by:
where f(a,b) is the image in the spatial domain and the exponential term is the basis
function corresponding to each point F(k,l) in the Fourier space. The equation can be
interpreted as: the value of each point F(k,l) is obtained by multiplying the spatial image
with the corresponding base function and summing the result [19].
The basis functions are sine and cosine waves with increasing frequencies, i.e.
F(0,0) represents the DC-component of the image which corresponds to the average
brightness and F(N-1,N-1) represents the highest frequency [19].
Faculty of Information Science and TechnologyMultimedia University 16
Image Enhancement System on MATLAB platform.
In a similar way, the Fourier image can be re-transformed to the spatial domain.
The inverse Fourier transform is given by:
To obtain the result for the above equations, a double sum has to be calculated
for each image point. However, because the Fourier Transform is separable, it can be
written as
where
Using these two formulas, the spatial domain image is first transformed into an
intermediate image using N one-dimensional Fourier Transforms. This intermediate
image is then transformed into the final image, again using N one-dimensional Fourier
Transforms. Expressing the two-dimensional Fourier Transform in terms of a series of
2N one-dimensional transforms decreases the number of required computations [19].
Faculty of Information Science and TechnologyMultimedia University 17
Image Enhancement System on MATLAB platform.
Even with these computational savings, the ordinary one-dimensional DFT has
complexity. This can be reduced to if we employ the Fast Fourier
Transform (FFT) to compute the one-dimensional DFTs. This is a significant
improvement, in particular for large images. There are various forms of the FFT and
most of them restrict the size of the input image that may be transformed, often to
where n is an integer [19].
Faculty of Information Science and TechnologyMultimedia University 18
Image Enhancement System on MATLAB platform.
CHAPTER 3:
METHODOLOGY
In order to create a system that covers all of the functions like intensity
transformation, histogram processing, linear spatial filtering and frequency domain
filtering which is most likely known as the Fourier Transform, first of all I need to
know what are they and what they are capable of doing.
Online information has been playing a very vital role throughout the process of
understanding each of them. The Internet, being the biggest information source since it
is first launch has been guiding me throughout the whole project. The Internet has been
providing me with useful information that helps me out whenever I need specific data.
Besides that, some certain book has provided me a vital source of information
although it is kind of hard to retrieve a specific information or keyword.
MATLAB, being one of the most powerful software at this time has enabled me
to do some practice and understanding how things work. By slowly building the
foundation of handling MATLAB, I am sure that with the help of some other additional
information, this system can be created. Since MATLAB is one of the program widely
Faculty of Information Science and TechnologyMultimedia University 19
Image Enhancement System on MATLAB platform.
used for research purposes, it is likely to say that MATLAB will not only ease out most
of the task that will be introduced, but it will also benefits the programmer and the end
user of this program.
Faculty of Information Science and TechnologyMultimedia University 20
Image Enhancement System on MATLAB platform.
3.1 Structure Diagram
Faculty of Information Science and TechnologyMultimedia University 21
0.0
LOAD
1.1
IntensityTransformation
HistogramProcessing
1.2
LinearSpatial
Filtering
1.3
FourierTransform
1.4
2.0
SAVE
Image Enhancement System on MATLAB platform.
3.2 System Flowchart
Faculty of Information Science and TechnologyMultimedia University 22
Start
LOAD
Choice
IntensityTransformation
HistogramProcessing
LinearSpatial
Filtering
FourierTransform
End
SAVE
Image Enhancement System on MATLAB platform.
3.3 Intensity Transformation Flowchart
Faculty of Information Science and TechnologyMultimedia University 23
Start
LOAD
Choice
IntensityTransformation
Controlchoice
Red Green Blue
SAVE
End
Image Enhancement System on MATLAB platform.
3.4 Histogram Processing Flowchart
Faculty of Information Science and TechnologyMultimedia University 24
Start
LOAD
Choice
HistogramProcessing
Controlchoice
4
SAVE
End
8 16 32 64 128 256
Image Enhancement System on MATLAB platform.
3.5 Linear Spatial Filtering Flowchart
Faculty of Information Science and TechnologyMultimedia University 25
Start
LOAD
Choice
Linear SpatialFiltering
Controlchoice
Unsharp
SAVE
End
Average
Disk
Gaussian
Laplacian
Log
Motion
Prewitt
Sobel
Image Enhancement System on MATLAB platform.
3.6 Fourier Transform Flowchart
Faculty of Information Science and TechnologyMultimedia University 26
Start
LOAD
Choice
FourierTransform
SAVE
End
Image Enhancement System on MATLAB platform.
CHAPTER 4: IMPLEMENTATION PROCESS / RESULTS
4.1 PROPOSED SOLUTIONS
Image has played a vital role in almost every single field in the world. Not only
it helps industries to provide entertainment to human, it also helps saves many life and
images also can paint the future of our generations and world. By saying that, we can
see that images can be considered one of the most important aspects in our life, no
matter for professional or even personal usage.
Sometimes, by having an unclear image of something, it can jeopardize the
outcome of something that follows up. For example, an unclear image of patient’s bone
x-ray might cost the patients life and many more. So certain function is a must for
enhancing certain type of images. But the problem that many industries face out there is
that most of these image enhancing softwares are sold separately and it can be a tedious
job collecting all those software.
By compiling these entire images enhancing software into one complete
product, industries out there will not have to go through those tedious jobs just to get a
certain type of image enhancing software that they need. Not only can that, by having
all in one complete product, industries can experiment out new way of image enhancing
Faculty of Information Science and TechnologyMultimedia University 27
Image Enhancement System on MATLAB platform.
rather than the usual way of image enhancing that they normally use because right now
they have all the access to different type of image enhancing.
After talking about the problems faced in the industries today in this world,
image enhancing technique can be consider one of the most important techniques that
all industries must have in order to gain the quality of images that industries wanted. So,
I am going to compile all four image enhancing techniques into a complete product so
that industries that requires more than one image enhancing techniques does not need to
look for the separate software instead, the industries can get it all in one complete
software. Techniques like intensity transformation, histogram processing, linear spatial
filtering and frequency domain filtering also known as Fourier Transform will be
included into this software. This system will allow the user to load any images that the
user wants to enhance and from there, the user can choose any one of the four functions
that the images will go through. After choosing the technique wanted, the system will
result out the desired image.
4.2 Implementation
Analysis.
Identifying the requirement of the project.
o MATLAB as the base platform for the software to run.
Faculty of Information Science and TechnologyMultimedia University 28
Image Enhancement System on MATLAB platform.
o Data and algorithms that are needed to be used for each image
enhancement techniques.
o Basic handling of the platform to ensure that the product turn out to be in
a working condition.
Planning project process.
o Setting up timelines and well planned schedule so that it is not taken for
granted since time is limited and important.
Design.
Brainstorming ideas.
o Think of ideas to get a good grip of what the program should do and how
will it looks like.
o Layout of where each of the functions going to be place and how it is
going to work.
Prototyping.
o Prepare a few prototypes or models and to see which one is more user-
friendly or at least, easiest way for user to understand the program.
Implementation.
Tailoring the interface.
o Placing the buttons, graphics and other control panels into the interface.
Faculty of Information Science and TechnologyMultimedia University 29
Image Enhancement System on MATLAB platform.
Getting the buttons to work.
o Constructing algorithms and function codes for each of the button
available on its interface so it would work in the order it is supposed to.
Evaluation.
Project documentation.
o Preparing the documentation and proper user guide.
Testing the system.
o Get over some friends to test out the product to see if it is user-friendly
and to determined if it is easy to understand what the program does.
o Feedbacks are gathered so the system could be improvised.
Validating the system.
o The system is validated so it works perfectly and error-free.
4.3 Major Variations From Original Plan.
Since I only acquired a basic understanding of how the MATLAB platform
works, a few of the advance features are not able to be used due to the lack of
understanding.
Time constraint is a major challenge when developing the system. So the system
could not be improvised into an advance system which consists of more features
and functions.
Faculty of Information Science and TechnologyMultimedia University 30
Image Enhancement System on MATLAB platform.
4.4 The program.
Basic overview.
Figure 9 – Basic overlook of the interface.
This is the overlook of the interface that has been developed. As we can see
from the first glace, there are few button with a controls and two major axes.
Faculty of Information Science and TechnologyMultimedia University 31
Image Enhancement System on MATLAB platform.
The load button.
Figure 10 – The load button.
This is the load button. What is does is that when the user click, a dialog box
will appear, giving the user a freedom to go to desired directory and to load up the
desired image file.
Figure 11 – The load dialog box.
Faculty of Information Science and TechnologyMultimedia University 32
Image Enhancement System on MATLAB platform.
Behind the load button, are a few lines of codes that gives the ability for the load
button to do so.
Figure 12 – The load code.
This is the codes behind that load button. As you can see, it is named
‘load_pushbutton’. As you can see in the first box, it starts off with a line of code that
gives the command to the MATLAB to open a dialog box and choose out a certain type
of image files that the user can choose. In this line, I have limited the type that the
dialog going to show to only files that have the extension of .jpg or the user can choose
to view all files with the other options. When the specific file is chosen, the filename
will be assigned into a variable which is name ‘I’ as shown in the second box. Directly
after that, the file that is saved into that variable will be assigned to the axes that goes
by the name ‘axesBefore’. The line ‘imshow(I)’ basically gives out the command to
reveal the image that is saved into the ‘I’ variable. The ‘guidata(hObject,handles)’
basically update the file. All of these are shown in the third box.
Faculty of Information Science and TechnologyMultimedia University 33
Image Enhancement System on MATLAB platform.
So let’s choose a file and see what happens.
Figure 13 – Image being choose.
Faculty of Information Science and TechnologyMultimedia University 34
Image Enhancement System on MATLAB platform.
Figure 14 – The image appeared.
After the image has appeared, from this point onwards it is the point where
different type of functions can be applied to this specific image. If the wrong image has
been chosen, simply click on the load button and choose the correct image. The correct
image will overwrite the current image thus revealing the corrected image. Let’s start
off with the first function, which is the intensity transformation.
Faculty of Information Science and TechnologyMultimedia University 35
Image Enhancement System on MATLAB platform.
The Intensity Transformation.
Figure 15 – Intensity Transformation’s panel control.
This is the default value for the intensity transformation. As we can see, the
panel control is being build up with three control sliders which each one has been assign
with a specific colour module. If we were to adjust a specific slider value, the intensity
of the colour will change thus creating a new colour tone for the image. Let’s try out the
red control slider and leave everything else where it is set as default.
Faculty of Information Science and TechnologyMultimedia University 36
Image Enhancement System on MATLAB platform.
Figure 16 – The control red slider has been set to max.
Figure 17 – The result when red slider control has been set to max.
As we can see from here, the image’s red colour has been intensify to the max
and as the result, we got an image which the colour red has been maxed out. Here are
the codes.
Faculty of Information Science and TechnologyMultimedia University 37
Image Enhancement System on MATLAB platform.
Figure 18 – Slider red’s code.
As we can see here, the value of the slider which is determined by the position
of the slider bar will be passed to the variable ‘sliderRedValue’ as shown in the first
box.
Figure 19 – The intensity histogram code.
Faculty of Information Science and TechnologyMultimedia University 38
Image Enhancement System on MATLAB platform.
The codes shown in the first box shows that the value gathered from all the 3
different types of slider that have been set up in the interface. Let’s concentrate on the
red slider. So the value that has been saved into the ‘sliderRedValue’ will be call out at
this section of codes. The image is then being saved into the variable ‘I’ so that the
value can be implement into the image, as shown in the second box. After the codes has
been call out and its has done enhancing the image according to the slider value as in
box three, the image will then be display at the next axes which is named ‘axesAfter’,
which is being explained in box four. That is the main idea how the Intensity Histogram
button works.
Faculty of Information Science and TechnologyMultimedia University 39
Image Enhancement System on MATLAB platform.
The Histogram Processing.
Figure 20 – The Histogram Processing’s panel control.
This is how the histogram processing’s panel control looks like. As we can see,
it is being constructed by one button and one pop-up menu. In the pop-up menu, there a
few options for the user to choose from depending on the type of different histogram
value.
Figure 21 – The value has been set to 4.
Faculty of Information Science and TechnologyMultimedia University 40
Image Enhancement System on MATLAB platform.
As the value 4 has been chosen and the button push, the algorithm behind the
button will work its value and transform the image into desired output.
Figure 22 – The result of Histogram Processing when the value 4 is set.
The image will be change into a grayscale form first before the algorithm is
being applied. Depending on the value being set, the histogram will produced different
type of result. Below are a few example of histogram processing under different value.
Faculty of Information Science and TechnologyMultimedia University 41
Image Enhancement System on MATLAB platform.
Figure 23 – Result when the value is being set to 16.
Figure 24 – Result when the value is being set to 64.
Faculty of Information Science and TechnologyMultimedia University 42
Image Enhancement System on MATLAB platform.
Figure 25 – The pop-up menu in the Histogram Processing’s panel control.
In here, the switch case is being used. When a value is being chosen, it will then
be stored into a variable called ‘Value’.
Faculty of Information Science and TechnologyMultimedia University 43
Image Enhancement System on MATLAB platform.
Figure 26 – The histogram processing’s code.
Like as explained earlier, the image will first be transformed into grayscale form
with this function line, ‘I=rgb2gray(I)’ as in box one. The value from the pop-up menu
will then be call and store into the variable ‘histogramValue’ as in box two. In box
three, the histogram algorithm will be call out to edit the image based on the input
received in box two.
Faculty of Information Science and TechnologyMultimedia University 44
Image Enhancement System on MATLAB platform.
The Linear Spatial Filtering.
Figure 27 – The linear spatial filtering’s panel control.
In the linear spatial filtering control panel, the pop-up menu is being used once
again because it gives a clearer and better understanding to the user that the options
available are only in the predefined menu. Let’s see what the ‘unsharp’ filter does.
Faculty of Information Science and TechnologyMultimedia University 45
Image Enhancement System on MATLAB platform.
Figure 28 – The unsharp filter is being applied.
If we were to compare this result image to the original one, we can see that in
this image, the lines are being roughened creating a clear cut where the colour line is
being formed. Different type of filter gives out different types of result. Let’s see what
some of these filters do.
Faculty of Information Science and TechnologyMultimedia University 46
Image Enhancement System on MATLAB platform.
Figure 29 – The average filter is being applied.
Figure 30 – The disk filter is being applied.
Faculty of Information Science and TechnologyMultimedia University 47
Image Enhancement System on MATLAB platform.
Figure 31 – The motion filter is being applied.
As we can see from here, different filter gives out different result. From the wide
range of filters been provided, the user can choose any of these filters to suit the
purpose of his or her image enhancement desire.
Faculty of Information Science and TechnologyMultimedia University 48
Image Enhancement System on MATLAB platform.
Figure 32 – The linear spatial filtering’s code.
As the value from the pop-up menu is been retrieved from the pop-up menu
code as shown in box one, the value is then being passed to a variable which goes by
the name of ‘buttonText’. After the value has been stored, the code in the second box
will then be executed and that’s the main algorithm for the linear spatial filtering.
Faculty of Information Science and TechnologyMultimedia University 49
Image Enhancement System on MATLAB platform.
The Fourier Transformation.
Figure 33 – The fourier transform’s button.
Simple as it may seem, this is the fourier transformation button. Fourier
transformation is different from the other three functions being reviewed earlier. Fourier
transformation takes the image and converts it to a frequency domain first before
applying the algorithm. After that the modified frequency domain will be changed back
in spatial domain which is easier understood by our eyes, which is in image form. The
other three functions earlier directly apply the algorithm onto the spatial domain, in
other word the image, and produce a direct result.
Faculty of Information Science and TechnologyMultimedia University 50
Image Enhancement System on MATLAB platform.
Figure 34 – The result of fourier transform.
Besides that, when the fourier transform button is being pushed, another dialog
window will appear to show the user the image of the filter that is being used.
Figure 35 – The dialog box that contains the image of filter being used.
Faculty of Information Science and TechnologyMultimedia University 51
Image Enhancement System on MATLAB platform.
Figure 36 – The code for fourier transform.
In the red box, the image is retrieved from the first axes and then being stored
into the variable ‘f’. After that, it will go through a grayscale transformation. The
transformation into frequency domain and back in spatial domain is being down in the
area which is shown in box one. In the second box, the algorithm being used here is
called the Gaussian filtering. The third box shows the image of filter that is being used
for this transformation in a new dialog window.
Faculty of Information Science and TechnologyMultimedia University 52
Image Enhancement System on MATLAB platform.
The Save Button.
Figure 37 – The save button.
Like any other working program, when there is a load button, there surely to be
a save button. This save button works like normal save button which allow users to
choose the desired directory that the file will be save and what name will it be. When
the button is being clicked, a dialog box will appear so that the user can do the
necessary actions.
Figure 38 – The save dialog box.
Faculty of Information Science and TechnologyMultimedia University 53
Image Enhancement System on MATLAB platform.
Figure 39 – The save button’s code.
In the first box, we can see that the image shown at the second axes is being
retrieved and being assigned into a variable ‘I’. The first line in the blue box will make
the save dialog window appear so that the user can save the file in any directory desired.
The second line in the second box shows that the image from the second axes is being
saved into any file name that the user wished to name it.
Figure 40 – The desired file name is being input here.
Faculty of Information Science and TechnologyMultimedia University 54
Image Enhancement System on MATLAB platform.
CHAPTER 5:
CONCLUSION
This project is very tricky and challenging to tackle. Image enhancing
techniques that I’ve never heard before has to be applied. Even though creating a new
software a kind of easy but image enhancing techniques are practically new to me.
Thus far, the needed algorithm has been obtained and briefly understood.
Researched has took place and more detailed information has been gathered. The next
step will be implementing this algorithm in an interface which can be use by anyone out
there.
All in all, the progress of this subject has kicked off well enough that we can
complete the project in time.
Faculty of Information Science and TechnologyMultimedia University 55
Image Enhancement System on MATLAB platform.
REFERENCES
[1] Wikipedia: Definition of Image. Retrieved on November 30, 2007, from
http://en.wikipedia.org/wiki/Image
[2] The Integration of Remote Sensing Data into Geographic Information System.
Retrieved on December 1, 2007 from http://www.aubreyrhea.com/bookbag/geog553/
[3] Image Interpretation and Analysis – Image Enhancement. Retrieved on December 1,
2007 from http://ccrs.nrcan.gc.ca/resource/tutor/fundam/chapter4/05_e.php
[4] Fourier Transform. Retrieved on December 2, 2007 from
http://student.kuleuven.be/~m0216922/CG/fourier.html
[5] Image Transforms – Fourier Transform. Retrieved on December 2, 2007 from
http://homepages.inf.ed.ac.uk/rbf/HIPR2/fourier.htm
[6] CS6825: Computer Vision. Retrieved on December 3, 2007 from
http://www.mcs.csuhayward.edu/~grewe/CS6825/Mat/PointOperators/Equalization/
Equalization.htm
Faculty of Information Science and TechnologyMultimedia University 56
Image Enhancement System on MATLAB platform.
[7] Point Operations – Histogram Equalization. Retrieved on December 3, 2007 from
http://www.cee.hw.ac.uk/hipr/html/histeq.html
[8] 55:148 Digital Image Processing. Retrieved on December 3, 2007 from
http://www.icaen.uiowa.edu/~dip/LECTURE/LinTransforms.html
[9] Sample of enhanced images. Retrieved on December 7, 2007 from
http://www.iisiltd.com/images.htm
[10]Sabrins Jr., (1987). Remote Sensing; principles and interpretations. New York: W.
H. Freeman
[11] MATLAB requirements. Retrieved on April 18, 2008 from
http://www.mathworks.com/products/matlab/requirements.html
[12] MATLAB 7.6 Download. Retrieved on April 18, 2008 from
http://www.mathworks.com/products/matlab/tryit.html
[13] MATLAB System Requirement – Windows. Retrieved on April 18, 2008 from
http://www.mathworks.com/support/sysreq/current_release/index.html
Faculty of Information Science and TechnologyMultimedia University 57
Image Enhancement System on MATLAB platform.
[14] MATLAB System Requirement – Linux. Retrieved on April 18, 2008 from
http://www.mathworks.com/support/sysreq/current_release/linux.html
[15] MATLAB System Requirement – Solaris. Retrieved on April 18, 2008 from
http://www.mathworks.com/support/sysreq/current_release/solaris.html
[16] MATLAB System Requirement – Mac. Retrieved on April 18, 2008 from
http://www.mathworks.com/support/sysreq/current_release/macintosh.html
[17] World Population – Wikipedia. Retrieved on April 18, 2008 from
http://en.wikipedia.org/wiki/World_population
[18] CS6825. Retrieved on April 21, 2008 from
http://www.mcs.csuhayward.edu/~grewe/CS6825/Mat/PointOperators/Equalization/
Equalization.htm
[19] Image Transforms – Fourier Transform. Retrieved on April 21, 2008 from
http://homepages.inf.ed.ac.uk/rbf/HIPR2/fourier.htm
[20] RT2 Chapter 4 Image Enhancement. Retrieved on April 21, 2008 from
http://www.cs.ru.nl/~ths/rt2/col/h4/4verbeteringenENG.html
Faculty of Information Science and TechnologyMultimedia University 58
Image Enhancement System on MATLAB platform.
[21] Wavelet-based image fusion using “A trous” algorithm. Retrieved on April 21,
2008 from http://www.gisdevelopment.net/technology/ip/mi0353pf.htm
Faculty of Information Science and TechnologyMultimedia University 59
Image Enhancement System on MATLAB platform.
APPENDICES
Appendix 1: Business Plan
Section 1: The Business Profile
1.0 Project Risks
Since this project is a Image Enhancement System using MATLAB as the
platform, it require a firm knowledge when it comes to the coding section in MATLAB
language. The possible risks may appear on the software, operating system and browser.
First, the user computer needs to have the MATLAB software installed into the
computer in order to run the program. It is impossible for a computer without
MATLAB software to execute and run the Image Enhancement System because it is
in .m and .fig format, which is the format for MATLAB. To solve the problem, the
MATLAB has to be installed before hand. The installation file for the trial version can
be obtained from this website.
http://www.mathworks.com/products/matlab/tryit.html
the lists of tables below show the minimum hardware requirement for each
operating system in order to install MATLAB. These tables taken from the MATLAB’s
website.
http://www.mathworks.com/products/matlab/requirements.html
Faculty of Information Science and TechnologyMultimedia University 60
Image Enhancement System on MATLAB platform.
System requirement.
Windows
Operating System Processors Disk Space RAM
32-bit MathWorks™
Products
Windows® XP (Service Pack 1 or 2)
Windows Server 2003 (Service Pack 1 or 2, R2)
Windows Vista™
Intel® Pentium (Pentium 4 and above)
Intel Celeron
Intel Xeon
Intel Core
AMD Athlon™
AMD Opteron
AMD Sempron
510 MB (MATLAB® only)*
512 MB
(1024 MB recommended)
64-bit MathWorks™
Products
Windows® XP x64 (Service Pack 1 or 2)
Windows Server 2003 x64 (Service Pack 1 or 2, R2)
Windows Vista™
Intel® Pentium (Pentium 4 and above)
Intel Celeron
Intel Xeon
Intel Core
AMD64
510 MB (MATLAB® only)*
1024 MB
(2048 MB recommended)
Table 1.1 – System requirement for Windows
* Disk space requirement varies depending on size of partition. The MATLAB installer
will inform you of the hard disk space requirement for your particular partition.
Installation size will be determined by the installer and can vary for NTFS and FAT
formats.
Faculty of Information Science and TechnologyMultimedia University 61
Image Enhancement System on MATLAB platform.
Graphics
16-, 24-, or 32-bit OpenGL capable graphics adapter
License Management
Some license types require a license server running FLEXnet 11.4, which is
provided by the MathWorks installer.
TCP/IP is required on all platforms when using a license server.
Additional Requirements
Microsoft Word 2002, 2003, or 2007 is required to run MATLAB® Notebook.
Microsoft Excel 2002, 2003, or 2007 is required to run MATLAB® Builder™
EX and Spreadsheet Link™ EX.
Faculty of Information Science and TechnologyMultimedia University 62
Image Enhancement System on MATLAB platform.
Linux
Operating System Processors Disk Space RAM
32-bit MathWorks™
Products
Red Hat Enterprise Linux v.4 and above
Fedora Core 4 and above
Debian 4.0 and above
Other distributions*
Intel® Pentium (Pentium 4 and above)
Intel Celeron
Intel Xeon
Intel Core
AMD Athlon**
AMD Opteron
AMD Sempron
510 MB (MATLAB® only)
512 MB
(1024 MB recommended)
64-bit MathWorks™
Products
Debian 4.0 and above
OpenSuSE 10.1 and above
Other distributions*
Intel® Pentium (Pentium 4 and above)
Intel Celeron
Intel Xeon
Intel Core
AMD64
510 MB (MATLAB® only)
1024 MB
(2048 MB recommended)
Table 1.2 – System requirement for Linux.
*Other Linux Distributions
For any other 32-bit or 64-bit Linux distribution not explicitly listed above, R2008a
requires the distribution to be built using Kernel 2.4.x or 2.6.x and glibc (glibc6) 2.3.4
and above. (glibc 2.3.4 users see above footnote).
Faculty of Information Science and TechnologyMultimedia University 63
Image Enhancement System on MATLAB platform.
**Processor must support SSE2 instruction set.
Graphics
16-, 24-, 32-bit OpenGL capable graphics adaptor
License Management
Some license types require a license server running FLEXnet 11.4, which is
provided by the MathWorks installer.
TCP/IP is required on all platforms when using a license server.
Faculty of Information Science and TechnologyMultimedia University 64
Image Enhancement System on MATLAB platform.
Solaris
Operating System Processors Disk Space RAM
64-bit MathWorks™
ProductsSolaris™ 10* ultraSPARC™
510 MB (MATLAB® only)
1024 MB
(2048 MB recommended)
Table 1.3 – System requirement for Solaris.
* Running MATLAB R2008a on Solaris 10 requires that the OS have the current
recommended patches. For information on which patches to install please refer to
solutions 1-3UPLL6 and 1-431HK0 .
Graphics
24-bit graphics display for Sun Solaris™
License Management
Some license types require a license server running FLEXnet 11.4, which is
provided by the MathWorks installer.
TCP/IP is required on all platforms when using a license server.
Faculty of Information Science and TechnologyMultimedia University 65
Image Enhancement System on MATLAB platform.
Macintosh
Operating System Processors Disk Space RAM
32-bit MathWorks™
Products
Mac® OS X 10.4 (10.4.8 and above)Mac OS X 10.5 (10.5.1 and above)
Intel 510 MB (MATLAB® only)
512 MB
(1024 MB recommended)
Table 1.4 – System requirement for Macintosh.
Graphics
X11 (X server) for Mac® OS X
Java Virtual Machine
Java™ Runtime Environment 1.5 Release 4
License Management
Some license types require a license server running FLEXnet 11.4, which is
provided by the MathWorks installer.
TCP/IP is required on all platforms when using a license server.
Faculty of Information Science and TechnologyMultimedia University 66
Image Enhancement System on MATLAB platform.
Section 2: Commercialization
Market and Commercialization Potential
The main target of this project could be anyone who is interested in image
enhancing system. It could varies from students who is learning how each image
enhancing techniques work, to image editor who deals with images and needs a system
that can perform enhancing techniques, to forensic scientist who needs these techniques
to get a clearer images and many more.
In March 2008, the world's population is believed to have reached over 6.65
billion. In line with population projections, this figure continues to grow at rates that
were unprecedented before the 20th century, although the rate of increase has almost
halved since its peak, which was reached in 1963, of 2.2 percent per year. The world's
population, on its current growth trajectory, is expected to reach nearly 9 billion by the
year 2050. (http://en.wikipedia.org/wiki/World_population). Since our target market are
from student all the way to professional, a rough percentage of 40% will be taken from
the total world’s population, which gives out to the figure of 2.66 billion people. It
means to say that 2.66 billion people in this world can be considered the future end user
of this product. And by the year of 2050, by using the same percentage, a total number
of 3.6 billion people in this world will fall into that targeted market. That gives this
product a very high chance of ending up besides an end user’s computer.
Faculty of Information Science and TechnologyMultimedia University 67
Image Enhancement System on MATLAB platform.
The first way to marketing the Image Enhacement System is through Compact
Discs (CDs). The system will be load into a CD just like any other softwares out there
that are sitting in the shelves. Besides that, demo CD can be handed out freely to almost
every colleges, university, workplace, laboratories, image studios any many other places
in order to create awareness that there is such system that allows user to get four mainly
and widely used image enhancement techniques in one CD.
Besides that, since the Internet is the way of life right now, websites can be set
up in order to create awareness and to promote the system. Setup file can also be
uploaded into the website so that user from all around the world can have access to the
system. The system is just a click away in these days.
It is possible for this system to get into shelves and the Internet. Although the
Internet seems to be the most profitable way of getting it widely spread across the
world, but having a system setup file in a compact disc is another way spreading the
system through users like a rapid fire.
Faculty of Information Science and TechnologyMultimedia University 68
Image Enhancement System on MATLAB platform.
Appendix 2: Meeting logs.
Faculty of Information Science and TechnologyMultimedia University 69