SlideShare a Scribd company logo
Prepared by: Rajarshi Roy Page 1/26
Summer Internship Program:
(Indian Institute of Engineering Science and Technology, Shibpur, Kolkata, India)
Digital Image Processing and Analysis
Prepared by:
Rajarshi Roy
(Freshman Student of Virginia Tech University, Blacksburg, Virginia, USA)
Working under the guidance of:
Dr. Samit Biswas
(Department of Computer Science and Technology
Indian Institute of Engineering, Science and Technology, Shibpur, W.B, India)
Kolkata, India
May - June 2016
Prepared by: Rajarshi Roy Page 2/26
2. Acknowledgement
At the outset, my sincere gratitude to Dr. Amit Das, Dean of Computer Science Department, Indian Institute
of Engineering, Science and Technology (IIEST) for accepting my candidature and permit me to work for
Summer Internship to a project in Digital Image Processing and Analysis.
I offer my deep sense of obligation to Dr. Samit Biswas for his guidance and mentoring to carry out this work
within deadline. I am also thankful to other staff of Department of Computer Science, IIEST for their kind
cooperation.
I do acknowledge my indebtedness to Prof. (Dr.) S. Mukherjee of Aerospace Department for constant
encouragement to my endeavor.
I must not forget to express my sincere regards to Professor (Dr.) Preston L. Durrell of Chemistry Department
and Professor Ms. Mary Denson Moore of English Department of Virginia Tech. University, USA who had
encouraged me and gave recommendations to participate this summer Internship program.
Prepared by: Rajarshi Roy Page 3/26
Table of Contents
Sl
No Contents
Page
Number
1 Title
1
2 Acknowledgement
2
3 Abstract
5
4 Certification
6
5
Analysis of Digital
Image Processing 7
5.1
Image Read /
Write 7
5.2
Image Negative 9
5.3 Sharpening of
Image 11
5.4 Edge Detection of
a Digital Image 12
5.5 Transpose of an
Image Matrix 14
5.6
Stretched Image 15
5.7
Vertical and
Horizontal
Movement of
Image 17
5.8
Image Filtering 20
5.8.1
Mean Filtering 20
5.9 Histogram 22
6
Schedule 24
7 Conclusion 25
Prepared by: Rajarshi Roy Page 4/26
8 Glossary 25
9
Bibliography 25
10
Appendix 26
Prepared by: Rajarshi Roy Page 5/26
3. Abstract
The image processing technique has wide applications in the development of broadband wireless service
and mobile technology. Internet helps the easy access of instant information. Most of this information is
designed in forms images. They are: in visual form of text, graphics, and pictures, or multimedia
presentations.
The word “IMAGE” in image processing world is nothing but a two dimensional signal. A digital image is mere
the data – numbers indicating differences of Red, Green and Blue at a particular location on a grid of pixel.
It is defined by the mathematical function f (x, y) where x and y are two coordinates, horizontal and vertical.
The value of f (x, y) at any point is termed as pixel value at that point of an image.
Image processing essentially means a technique of recognizing the digital image data. So in another words
it is the signal processing where the required input is an image, such as photograph. After processing the
output of the function is also being either an image or set of parameters related to image.
During this processing each image is treated as two dimensional array of signals. It is a matrix of intensity of
corresponding pixel.
For this project I have developed several functions in C++ language with the help of mathematical tools on
Array. The prime idea of the project is to read the file, modify the image and develop the output after
experimenting with wide selection of image types.
Herein, I have selected the basic image in grayscale. At the beginning the image is of 100 X 100 bitmap size.
Secondly, it is converted to Text File. The array is manipulated to generate each function. The output of the
function is also formed in image. My main objective was to transfer the image pixels in my array which I will
then run some functions on the pixels which will do some filters on the output image in C++.
Prepared by: Rajarshi Roy Page 6/26
Certification
Prepared by: Rajarshi Roy Page 7/26
5. Analysis of Digital Image Processing
“It is said, picture is worth a thousand words.” It is indeed, visual impact is more than any other kind of
communication. Nowadays the visual information is created digitally. Application wise, it is gaining popularity.
For instance, Medical Science, Astronomy, Aviation, Traffic Control and other industries.
In Digital Image Processing, an image is defined as two dimensional functions, where x and y are coordinates
which essentially represents gray level of image at that point.
Here, I have the following fundamental steps in Image Processing
1. Image acquisition: to acquire a digital image
2. Image preprocessing: To improve the image
3. Image representation: to convert the input data to a form suitable for computer processing.
5.1 Image Read / Write
This function needs the matrix made from pixel values of an image. These values are in gray scale format of.
pnm file. Eventually, the purpose of this function is to write the output in another file. I store the output matrix
(MXN matrix) in project-version 1 file for experiment. I can also perform further operations based on my future
expansion of the project.
At the beginning, I select an image for the project and convert to the. pnm format. It is in ASCII mode.
Secondly, I displayed various information of the image with the help of the text editor. This text file becomes
the input for my C++ program, through which I copy the pixel value into matrix. This pixel matrix becomes
significant input for further modification of the experimental image. On subsequent changes of data values in
the matrix, I can easily edit and update the image quality, texture and resolution. At this stage, I am prepared
to apply the functions which is based on numerous operation of matrix.
Processing
Input Image Output Image
Prepared by: Rajarshi Roy Page 8/26
5.2 Image Negative
It is an image enhancement technique, where the output image is more suitable than the original for a
specific application. It is a spatial domain transformation of the array where I did point operation on each
pixel intensity values. Negative image is particularly useful in highlighting the white or gray details which
are embedded in the dark regions of the image.
The transformation function has been given below
s = T (r)
Where r is the pixels of the input image and s is the pixels of the output image. T is a transformation function
that maps each value of r to each value of s.
In negative transformation, each value of the input image is subtracted from the L-1 and mapped onto the
output image.
Here L is number of levels in the image = 256
In this case the following transition has been done.
s = (L – 1) – r
Since the input image of Einstein is an 8 bpp image, so the number of levels in this image are 256. Putting
256 in the equation, we get this
s = 255 – r
So each value is subtracted by 255 and the result image has been shown above. So as a result, the lighter
pixels become dark and the darker picture becomes light. The output of the function is Image Negative.
Prepared by: Rajarshi Roy Page 9/26
ORIGINAL IMAGE
OUTPUT IMAGE
ORIGINAL IMAGE OUTPUT IMAGE
5.3 Sharpening of Image
Sharpening of the image is defined by the process which opposed to blurring. Apparently I increase the edge
content of the image. So firstly, I find the edges of the image. For this process I use Prewitt operator. After
finding the edges, I add those edges on the image, and thus the image got more edges. Eventually, the image
looked sharpen.
ORIGINAL IMAGE OUTPUT IMAGE
Prepared by: Rajarshi Roy Page 10/26
5.4 Edge Detection of a Digital Image
The function of identifying the points of a digital image at which image brightness changed, is called Edge
Detection. The points where brightness changed sharply is termed as Edge. It is the fundamental steps in
Image Processing. It is particularly helpful feature detection and feature extraction. It is basically subtracting
the current pixel with the previous pixel and change it as the current pixel.
The main aim for developing this function is to capture important events in image and changes in
properties of image of materials. Taking the data of the edge detection process, the amount of data of
whole image can be reduced for testing. So some amount of data is filtered out to test, makes the job easy.
ORIGINAL IMAGE OUTPUT IMAGE
Prepared by: Rajarshi Roy Page 11/26
5.5 Transpose of Image Matrix
The transpose of a MXN matrix is NXM matrix.
With its (i, j) element equals to the (j, i) elements of the original matrix.
Sample Array =
1 3 5
2 4 6
ORIGINAL IMAGE OUTPUT IMAGE
Transpose of the above matrix is
ans =
1 2
3 4
5 6
Prepared by: Rajarshi Roy Page 12/26
5.6 Stretched Image
There are the methods of enhancing contrast. The first one is called Histogram stretching that
increase contrast of the image.
The formula is:
Here I use the function and specify the source and destination rectangle. It will crop and stretch the image.
INPUT IMAGE OUTPUT IMAGE
5.7 Vertical and Horizontal Movement of Image
Blurring is a process which is applied to whole image. An image looks sharp when we receive all edge of
the image. When I reduce the edge content, makes transition of the image from one color to another.
You can reduce vertical or horizontal noise by adjusting the kernel size using blur function. The kernel size
in vertical direction is higher than the kernel size of horizontal direction.
Prepared by: Rajarshi Roy Page 13/26
UNSHARP IMAGE 45-degree motion blur VERTICALLY MOVED HORIZONTALLY MOVED:
5.8 Image Filtering
The Image Filtering is the operations which works on entire image or selection of image.
Image filtering is used to:
 Remove noise
 Sharpen contrast
 Highlight contours
 Detect edges
Image filters can be classified as linear or nonlinear.
The linear filters are defined as convolution filters as they are represented using a matrix multiplication
1 Linear filters are also known as convolution filters as they can be represented using a matrix
multiplication. Thresholding and image equalization are examples of nonlinear operations, as is the median
filter.
Prepared by: Rajarshi Roy Page 14/26
5.8.1 Mean Filtering
Mean filtering is a function of smoothing images. Apparently. there is always an intensity variation between
one pixels to next. Mean Filtering reduces this variation which is termed as noise of the image. The Mean
filter works by moving through the image pixel by pixel, replacing each value with the average of neighboring
pixel, including itself.
An example of mean filtering of a single 3x3 window of values is shown below.
Unfiltered Values
2 4 7
3 9 1
8 4 7
2+ 4 + 7 + 3 + 9 + 1 + 8 + 4 + 7 = 45
45 / 9 = 5
Mean Filtered
* * *
* 5 *
* * *
Center value (previously 1) is replaced by the mean of all nine values (5).
Prepared by: Rajarshi Roy Page 15/26
ORIGINAL IMAGE OUTPUT IMAGE
5.9 Histogram
Histograms are collected counts of data. Data is distributed in sets of bins. In the Matrix, which contains
information of image, intensities of each pixel is arranged. Their values ranges from 0 – 255. If I want to
count the data in an organized way within the range of 256 values, I would create the segment which is
termed as bins like
This makes the job easy to keep count of number of pixel that fall in that range.
Image Histogram is the graphical representation of intensity distribution of an image.
In C ++ we did a count as how many times the pixel occurred for example in this image:
Prepared by: Rajarshi Roy Page 16/26
Input Histogram Data:
Data
value
Number
of Pixel
0 87257
1 53
2 74
3 133
4 217
5 303
6 537
7 636
8 648
9 711
10 760
6. Schedule
Prepared by: Rajarshi Roy Page 17/26
7. Conclusion
This project is done by me alone within short period of time. And, finally I could achieve certain level of
success. I believe, there is still room for further improvement of this project, what I can pursue latter.
I have studied, there is many opportunities to explore the subject of image processing and further
improvement.
Worth mentioning, in future, image processing will help in scanning extra-terrestrial life in space. It will also
help to improve robotic technology.
Advances in image processing and artificial intelligence will work to complement each other that would ensure
more robust security system, medical diagnostics and manufacturing industries among many other fields.
8. Glossary
Blurring: An area process that produces an effect similar to an out-of-focus photograph. Blurring removes the
detail in an image by making each pixel more like its neighbors.
Cropping: A geometric process that reduces the size of an image by discarding the pixels outside a specified
region called the crop selection
Digital Image: An image captured by an imaging device and represented in a computer as a rectangular grid
of pixels
Edge: Edges marks the boundaries between the objects in a scene. A large change in pixel brightness over
a small number of pixels often indicates the presence of an edge
Histogram: The histogram of an image visualizes the distribution of the brightness in the image by plotting
the number of occurrences of each brightness.
Prepared by: Rajarshi Roy Page 18/26
9. Bibliography
1. Class notes on C ++ and Matlab of Prof. David McPherson, Computer Engineering Department,
Virginia Tech University, USA.
2. Books: The C++ Programming Language by Bjarne Stroustrup
3.http://stackoverflow.com/questions/13750142/c-image-proccessing-reading-an-image-file-into-2d-
array
4. http://www.cplusplus.com/reference
5. http://www.astro.umd.edu/~cychen/MATLAB/ASTR310/Lab02/html/images01.html
6. http://www.csc.villanova.edu/~tway/courses/csc8610/s2012/workshop1/rahul_and_pavitra/Worksho
p1%20-%20Rahul%20&%20Pavitra.html
7. https://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/imageFunctions.html
10. Appendix
Copy of presentation of the Project “Digital Image Processing and Analysis”
END

More Related Content

What's hot

Interpolation Technique using Non Linear Partial Differential Equation with E...
Interpolation Technique using Non Linear Partial Differential Equation with E...Interpolation Technique using Non Linear Partial Differential Equation with E...
Interpolation Technique using Non Linear Partial Differential Equation with E...
CSCJournals
 
Image Enhancement Using Filter To Adjust Dynamic Range of Pixels
Image Enhancement Using Filter To Adjust Dynamic Range of PixelsImage Enhancement Using Filter To Adjust Dynamic Range of Pixels
Image Enhancement Using Filter To Adjust Dynamic Range of Pixels
IJERA Editor
 
Ijarcet vol-2-issue-7-2319-2322
Ijarcet vol-2-issue-7-2319-2322Ijarcet vol-2-issue-7-2319-2322
Ijarcet vol-2-issue-7-2319-2322Editor IJARCET
 
Image enhancement techniques a review
Image enhancement techniques   a reviewImage enhancement techniques   a review
Image enhancement techniques a review
eSAT Journals
 
Digital Image Processing: Image Enhancement in the Spatial Domain
Digital Image Processing: Image Enhancement in the Spatial DomainDigital Image Processing: Image Enhancement in the Spatial Domain
Digital Image Processing: Image Enhancement in the Spatial Domain
Mostafa G. M. Mostafa
 
IRJET- A Comparative Review of Satellite Image Super Resolution Techniques
IRJET- A Comparative Review of Satellite Image Super Resolution TechniquesIRJET- A Comparative Review of Satellite Image Super Resolution Techniques
IRJET- A Comparative Review of Satellite Image Super Resolution Techniques
IRJET Journal
 
IMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
IMAGE PROCESSING - MATHANKUMAR.S - VMKVECIMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
IMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
Mathankumar S
 
Dip review
Dip reviewDip review
Dip review
Harish Reddy
 
Basics of image processing using MATLAB
Basics of image processing using MATLABBasics of image processing using MATLAB
Basics of image processing using MATLAB
Mohsin Siddique
 
Wavelet-Based Warping Technique for Mobile Devices
Wavelet-Based Warping Technique for Mobile DevicesWavelet-Based Warping Technique for Mobile Devices
Wavelet-Based Warping Technique for Mobile Devices
csandit
 
A Biometric Approach to Encrypt a File with the Help of Session Key
A Biometric Approach to Encrypt a File with the Help of Session KeyA Biometric Approach to Encrypt a File with the Help of Session Key
A Biometric Approach to Encrypt a File with the Help of Session Key
Sougata Das
 
Image inpainting
Image inpaintingImage inpainting
Image inpainting
Pulkit Goyal
 
Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning
MohammadPooya Malek
 
Chapter 8 image compression
Chapter 8 image compressionChapter 8 image compression
Chapter 8 image compression
asodariyabhavesh
 
Glossary dip
Glossary dipGlossary dip
Glossary dip
Upendra Pratap Singh
 
Image enhancement techniques
Image enhancement techniques Image enhancement techniques
Image enhancement techniques
Arshad khan
 
Comparative between global threshold and adaptative threshold concepts in ima...
Comparative between global threshold and adaptative threshold concepts in ima...Comparative between global threshold and adaptative threshold concepts in ima...
Comparative between global threshold and adaptative threshold concepts in ima...
AssiaHAMZA
 
A comparative analysis of retrieval techniques in content based image retrieval
A comparative analysis of retrieval techniques in content based image retrievalA comparative analysis of retrieval techniques in content based image retrieval
A comparative analysis of retrieval techniques in content based image retrieval
csandit
 

What's hot (19)

Interpolation Technique using Non Linear Partial Differential Equation with E...
Interpolation Technique using Non Linear Partial Differential Equation with E...Interpolation Technique using Non Linear Partial Differential Equation with E...
Interpolation Technique using Non Linear Partial Differential Equation with E...
 
Image Enhancement Using Filter To Adjust Dynamic Range of Pixels
Image Enhancement Using Filter To Adjust Dynamic Range of PixelsImage Enhancement Using Filter To Adjust Dynamic Range of Pixels
Image Enhancement Using Filter To Adjust Dynamic Range of Pixels
 
Ijarcet vol-2-issue-7-2319-2322
Ijarcet vol-2-issue-7-2319-2322Ijarcet vol-2-issue-7-2319-2322
Ijarcet vol-2-issue-7-2319-2322
 
Image enhancement techniques a review
Image enhancement techniques   a reviewImage enhancement techniques   a review
Image enhancement techniques a review
 
Digital Image Processing: Image Enhancement in the Spatial Domain
Digital Image Processing: Image Enhancement in the Spatial DomainDigital Image Processing: Image Enhancement in the Spatial Domain
Digital Image Processing: Image Enhancement in the Spatial Domain
 
IRJET- A Comparative Review of Satellite Image Super Resolution Techniques
IRJET- A Comparative Review of Satellite Image Super Resolution TechniquesIRJET- A Comparative Review of Satellite Image Super Resolution Techniques
IRJET- A Comparative Review of Satellite Image Super Resolution Techniques
 
IMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
IMAGE PROCESSING - MATHANKUMAR.S - VMKVECIMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
IMAGE PROCESSING - MATHANKUMAR.S - VMKVEC
 
Dip review
Dip reviewDip review
Dip review
 
Basics of image processing using MATLAB
Basics of image processing using MATLABBasics of image processing using MATLAB
Basics of image processing using MATLAB
 
Wavelet-Based Warping Technique for Mobile Devices
Wavelet-Based Warping Technique for Mobile DevicesWavelet-Based Warping Technique for Mobile Devices
Wavelet-Based Warping Technique for Mobile Devices
 
Image processing Presentation
Image processing PresentationImage processing Presentation
Image processing Presentation
 
A Biometric Approach to Encrypt a File with the Help of Session Key
A Biometric Approach to Encrypt a File with the Help of Session KeyA Biometric Approach to Encrypt a File with the Help of Session Key
A Biometric Approach to Encrypt a File with the Help of Session Key
 
Image inpainting
Image inpaintingImage inpainting
Image inpainting
 
Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning Image Inpainting Using Deep Learning
Image Inpainting Using Deep Learning
 
Chapter 8 image compression
Chapter 8 image compressionChapter 8 image compression
Chapter 8 image compression
 
Glossary dip
Glossary dipGlossary dip
Glossary dip
 
Image enhancement techniques
Image enhancement techniques Image enhancement techniques
Image enhancement techniques
 
Comparative between global threshold and adaptative threshold concepts in ima...
Comparative between global threshold and adaptative threshold concepts in ima...Comparative between global threshold and adaptative threshold concepts in ima...
Comparative between global threshold and adaptative threshold concepts in ima...
 
A comparative analysis of retrieval techniques in content based image retrieval
A comparative analysis of retrieval techniques in content based image retrievalA comparative analysis of retrieval techniques in content based image retrieval
A comparative analysis of retrieval techniques in content based image retrieval
 

Similar to Final Report for project

Jc3416551658
Jc3416551658Jc3416551658
Jc3416551658
IJERA Editor
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
Ankur Nanda
 
IRJET- Low Light Image Enhancement using Convolutional Neural Network
IRJET-  	  Low Light Image Enhancement using Convolutional Neural NetworkIRJET-  	  Low Light Image Enhancement using Convolutional Neural Network
IRJET- Low Light Image Enhancement using Convolutional Neural Network
IRJET Journal
 
DIP-LECTURE_NOTES.pdf
DIP-LECTURE_NOTES.pdfDIP-LECTURE_NOTES.pdf
DIP-LECTURE_NOTES.pdf
VaideshSiva1
 
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVALA COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
cscpconf
 
E1102012537
E1102012537E1102012537
E1102012537
IOSR Journals
 
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET -  	  Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...IRJET -  	  Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET Journal
 
Content-Based Image Retrieval Case Study
Content-Based Image Retrieval Case StudyContent-Based Image Retrieval Case Study
Content-Based Image Retrieval Case Study
Lisa Kennedy
 
Improving image resolution through the cra algorithm involved recycling proce...
Improving image resolution through the cra algorithm involved recycling proce...Improving image resolution through the cra algorithm involved recycling proce...
Improving image resolution through the cra algorithm involved recycling proce...
csandit
 
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
cscpconf
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
Oğul Göçmen
 
Ijcatr04051016
Ijcatr04051016Ijcatr04051016
Ijcatr04051016
Editor IJCATR
 
International Journal of Computational Engineering Research(IJCER)
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
ijceronline
 
image Processing Fundamental Is .ppt
image Processing Fundamental Is     .pptimage Processing Fundamental Is     .ppt
image Processing Fundamental Is .ppt
Desalechali1
 
Image Processing Fundamentals .ppt
Image Processing Fundamentals        .pptImage Processing Fundamentals        .ppt
Image Processing Fundamentals .ppt
Desalechali1
 
A review on image processing
A review on image processingA review on image processing
A review on image processing
Alexander Decker
 
B018110915
B018110915B018110915
B018110915
IOSR Journals
 
Image_Processing_LECTURE_c#_programming.ppt
Image_Processing_LECTURE_c#_programming.pptImage_Processing_LECTURE_c#_programming.ppt
Image_Processing_LECTURE_c#_programming.ppt
LOUISSEVERINOROMANO
 
SUMMER INTERNSHIP PROJECT
SUMMER INTERNSHIP PROJECTSUMMER INTERNSHIP PROJECT
SUMMER INTERNSHIP PROJECTRajarshi Roy
 

Similar to Final Report for project (20)

Jc3416551658
Jc3416551658Jc3416551658
Jc3416551658
 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
 
IRJET- Low Light Image Enhancement using Convolutional Neural Network
IRJET-  	  Low Light Image Enhancement using Convolutional Neural NetworkIRJET-  	  Low Light Image Enhancement using Convolutional Neural Network
IRJET- Low Light Image Enhancement using Convolutional Neural Network
 
mini prjt
mini prjtmini prjt
mini prjt
 
DIP-LECTURE_NOTES.pdf
DIP-LECTURE_NOTES.pdfDIP-LECTURE_NOTES.pdf
DIP-LECTURE_NOTES.pdf
 
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVALA COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVAL
 
E1102012537
E1102012537E1102012537
E1102012537
 
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET -  	  Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...IRJET -  	  Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
IRJET - Computer-Assisted ALL, AML, CLL, CML Detection and Counting for D...
 
Content-Based Image Retrieval Case Study
Content-Based Image Retrieval Case StudyContent-Based Image Retrieval Case Study
Content-Based Image Retrieval Case Study
 
Improving image resolution through the cra algorithm involved recycling proce...
Improving image resolution through the cra algorithm involved recycling proce...Improving image resolution through the cra algorithm involved recycling proce...
Improving image resolution through the cra algorithm involved recycling proce...
 
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...
 
Log polar coordinates
Log polar coordinatesLog polar coordinates
Log polar coordinates
 
Ijcatr04051016
Ijcatr04051016Ijcatr04051016
Ijcatr04051016
 
International Journal of Computational Engineering Research(IJCER)
 International Journal of Computational Engineering Research(IJCER)  International Journal of Computational Engineering Research(IJCER)
International Journal of Computational Engineering Research(IJCER)
 
image Processing Fundamental Is .ppt
image Processing Fundamental Is     .pptimage Processing Fundamental Is     .ppt
image Processing Fundamental Is .ppt
 
Image Processing Fundamentals .ppt
Image Processing Fundamentals        .pptImage Processing Fundamentals        .ppt
Image Processing Fundamentals .ppt
 
A review on image processing
A review on image processingA review on image processing
A review on image processing
 
B018110915
B018110915B018110915
B018110915
 
Image_Processing_LECTURE_c#_programming.ppt
Image_Processing_LECTURE_c#_programming.pptImage_Processing_LECTURE_c#_programming.ppt
Image_Processing_LECTURE_c#_programming.ppt
 
SUMMER INTERNSHIP PROJECT
SUMMER INTERNSHIP PROJECTSUMMER INTERNSHIP PROJECT
SUMMER INTERNSHIP PROJECT
 

Final Report for project

  • 1. Prepared by: Rajarshi Roy Page 1/26 Summer Internship Program: (Indian Institute of Engineering Science and Technology, Shibpur, Kolkata, India) Digital Image Processing and Analysis Prepared by: Rajarshi Roy (Freshman Student of Virginia Tech University, Blacksburg, Virginia, USA) Working under the guidance of: Dr. Samit Biswas (Department of Computer Science and Technology Indian Institute of Engineering, Science and Technology, Shibpur, W.B, India) Kolkata, India May - June 2016
  • 2. Prepared by: Rajarshi Roy Page 2/26 2. Acknowledgement At the outset, my sincere gratitude to Dr. Amit Das, Dean of Computer Science Department, Indian Institute of Engineering, Science and Technology (IIEST) for accepting my candidature and permit me to work for Summer Internship to a project in Digital Image Processing and Analysis. I offer my deep sense of obligation to Dr. Samit Biswas for his guidance and mentoring to carry out this work within deadline. I am also thankful to other staff of Department of Computer Science, IIEST for their kind cooperation. I do acknowledge my indebtedness to Prof. (Dr.) S. Mukherjee of Aerospace Department for constant encouragement to my endeavor. I must not forget to express my sincere regards to Professor (Dr.) Preston L. Durrell of Chemistry Department and Professor Ms. Mary Denson Moore of English Department of Virginia Tech. University, USA who had encouraged me and gave recommendations to participate this summer Internship program.
  • 3. Prepared by: Rajarshi Roy Page 3/26 Table of Contents Sl No Contents Page Number 1 Title 1 2 Acknowledgement 2 3 Abstract 5 4 Certification 6 5 Analysis of Digital Image Processing 7 5.1 Image Read / Write 7 5.2 Image Negative 9 5.3 Sharpening of Image 11 5.4 Edge Detection of a Digital Image 12 5.5 Transpose of an Image Matrix 14 5.6 Stretched Image 15 5.7 Vertical and Horizontal Movement of Image 17 5.8 Image Filtering 20 5.8.1 Mean Filtering 20 5.9 Histogram 22 6 Schedule 24 7 Conclusion 25
  • 4. Prepared by: Rajarshi Roy Page 4/26 8 Glossary 25 9 Bibliography 25 10 Appendix 26
  • 5. Prepared by: Rajarshi Roy Page 5/26 3. Abstract The image processing technique has wide applications in the development of broadband wireless service and mobile technology. Internet helps the easy access of instant information. Most of this information is designed in forms images. They are: in visual form of text, graphics, and pictures, or multimedia presentations. The word “IMAGE” in image processing world is nothing but a two dimensional signal. A digital image is mere the data – numbers indicating differences of Red, Green and Blue at a particular location on a grid of pixel. It is defined by the mathematical function f (x, y) where x and y are two coordinates, horizontal and vertical. The value of f (x, y) at any point is termed as pixel value at that point of an image. Image processing essentially means a technique of recognizing the digital image data. So in another words it is the signal processing where the required input is an image, such as photograph. After processing the output of the function is also being either an image or set of parameters related to image. During this processing each image is treated as two dimensional array of signals. It is a matrix of intensity of corresponding pixel. For this project I have developed several functions in C++ language with the help of mathematical tools on Array. The prime idea of the project is to read the file, modify the image and develop the output after experimenting with wide selection of image types. Herein, I have selected the basic image in grayscale. At the beginning the image is of 100 X 100 bitmap size. Secondly, it is converted to Text File. The array is manipulated to generate each function. The output of the function is also formed in image. My main objective was to transfer the image pixels in my array which I will then run some functions on the pixels which will do some filters on the output image in C++.
  • 6. Prepared by: Rajarshi Roy Page 6/26 Certification
  • 7. Prepared by: Rajarshi Roy Page 7/26 5. Analysis of Digital Image Processing “It is said, picture is worth a thousand words.” It is indeed, visual impact is more than any other kind of communication. Nowadays the visual information is created digitally. Application wise, it is gaining popularity. For instance, Medical Science, Astronomy, Aviation, Traffic Control and other industries. In Digital Image Processing, an image is defined as two dimensional functions, where x and y are coordinates which essentially represents gray level of image at that point. Here, I have the following fundamental steps in Image Processing 1. Image acquisition: to acquire a digital image 2. Image preprocessing: To improve the image 3. Image representation: to convert the input data to a form suitable for computer processing. 5.1 Image Read / Write This function needs the matrix made from pixel values of an image. These values are in gray scale format of. pnm file. Eventually, the purpose of this function is to write the output in another file. I store the output matrix (MXN matrix) in project-version 1 file for experiment. I can also perform further operations based on my future expansion of the project. At the beginning, I select an image for the project and convert to the. pnm format. It is in ASCII mode. Secondly, I displayed various information of the image with the help of the text editor. This text file becomes the input for my C++ program, through which I copy the pixel value into matrix. This pixel matrix becomes significant input for further modification of the experimental image. On subsequent changes of data values in the matrix, I can easily edit and update the image quality, texture and resolution. At this stage, I am prepared to apply the functions which is based on numerous operation of matrix. Processing Input Image Output Image
  • 8. Prepared by: Rajarshi Roy Page 8/26 5.2 Image Negative It is an image enhancement technique, where the output image is more suitable than the original for a specific application. It is a spatial domain transformation of the array where I did point operation on each pixel intensity values. Negative image is particularly useful in highlighting the white or gray details which are embedded in the dark regions of the image. The transformation function has been given below s = T (r) Where r is the pixels of the input image and s is the pixels of the output image. T is a transformation function that maps each value of r to each value of s. In negative transformation, each value of the input image is subtracted from the L-1 and mapped onto the output image. Here L is number of levels in the image = 256 In this case the following transition has been done. s = (L – 1) – r Since the input image of Einstein is an 8 bpp image, so the number of levels in this image are 256. Putting 256 in the equation, we get this s = 255 – r So each value is subtracted by 255 and the result image has been shown above. So as a result, the lighter pixels become dark and the darker picture becomes light. The output of the function is Image Negative.
  • 9. Prepared by: Rajarshi Roy Page 9/26 ORIGINAL IMAGE OUTPUT IMAGE ORIGINAL IMAGE OUTPUT IMAGE 5.3 Sharpening of Image Sharpening of the image is defined by the process which opposed to blurring. Apparently I increase the edge content of the image. So firstly, I find the edges of the image. For this process I use Prewitt operator. After finding the edges, I add those edges on the image, and thus the image got more edges. Eventually, the image looked sharpen. ORIGINAL IMAGE OUTPUT IMAGE
  • 10. Prepared by: Rajarshi Roy Page 10/26 5.4 Edge Detection of a Digital Image The function of identifying the points of a digital image at which image brightness changed, is called Edge Detection. The points where brightness changed sharply is termed as Edge. It is the fundamental steps in Image Processing. It is particularly helpful feature detection and feature extraction. It is basically subtracting the current pixel with the previous pixel and change it as the current pixel. The main aim for developing this function is to capture important events in image and changes in properties of image of materials. Taking the data of the edge detection process, the amount of data of whole image can be reduced for testing. So some amount of data is filtered out to test, makes the job easy. ORIGINAL IMAGE OUTPUT IMAGE
  • 11. Prepared by: Rajarshi Roy Page 11/26 5.5 Transpose of Image Matrix The transpose of a MXN matrix is NXM matrix. With its (i, j) element equals to the (j, i) elements of the original matrix. Sample Array = 1 3 5 2 4 6 ORIGINAL IMAGE OUTPUT IMAGE Transpose of the above matrix is ans = 1 2 3 4 5 6
  • 12. Prepared by: Rajarshi Roy Page 12/26 5.6 Stretched Image There are the methods of enhancing contrast. The first one is called Histogram stretching that increase contrast of the image. The formula is: Here I use the function and specify the source and destination rectangle. It will crop and stretch the image. INPUT IMAGE OUTPUT IMAGE 5.7 Vertical and Horizontal Movement of Image Blurring is a process which is applied to whole image. An image looks sharp when we receive all edge of the image. When I reduce the edge content, makes transition of the image from one color to another. You can reduce vertical or horizontal noise by adjusting the kernel size using blur function. The kernel size in vertical direction is higher than the kernel size of horizontal direction.
  • 13. Prepared by: Rajarshi Roy Page 13/26 UNSHARP IMAGE 45-degree motion blur VERTICALLY MOVED HORIZONTALLY MOVED: 5.8 Image Filtering The Image Filtering is the operations which works on entire image or selection of image. Image filtering is used to:  Remove noise  Sharpen contrast  Highlight contours  Detect edges Image filters can be classified as linear or nonlinear. The linear filters are defined as convolution filters as they are represented using a matrix multiplication 1 Linear filters are also known as convolution filters as they can be represented using a matrix multiplication. Thresholding and image equalization are examples of nonlinear operations, as is the median filter.
  • 14. Prepared by: Rajarshi Roy Page 14/26 5.8.1 Mean Filtering Mean filtering is a function of smoothing images. Apparently. there is always an intensity variation between one pixels to next. Mean Filtering reduces this variation which is termed as noise of the image. The Mean filter works by moving through the image pixel by pixel, replacing each value with the average of neighboring pixel, including itself. An example of mean filtering of a single 3x3 window of values is shown below. Unfiltered Values 2 4 7 3 9 1 8 4 7 2+ 4 + 7 + 3 + 9 + 1 + 8 + 4 + 7 = 45 45 / 9 = 5 Mean Filtered * * * * 5 * * * * Center value (previously 1) is replaced by the mean of all nine values (5).
  • 15. Prepared by: Rajarshi Roy Page 15/26 ORIGINAL IMAGE OUTPUT IMAGE 5.9 Histogram Histograms are collected counts of data. Data is distributed in sets of bins. In the Matrix, which contains information of image, intensities of each pixel is arranged. Their values ranges from 0 – 255. If I want to count the data in an organized way within the range of 256 values, I would create the segment which is termed as bins like This makes the job easy to keep count of number of pixel that fall in that range. Image Histogram is the graphical representation of intensity distribution of an image. In C ++ we did a count as how many times the pixel occurred for example in this image:
  • 16. Prepared by: Rajarshi Roy Page 16/26 Input Histogram Data: Data value Number of Pixel 0 87257 1 53 2 74 3 133 4 217 5 303 6 537 7 636 8 648 9 711 10 760 6. Schedule
  • 17. Prepared by: Rajarshi Roy Page 17/26 7. Conclusion This project is done by me alone within short period of time. And, finally I could achieve certain level of success. I believe, there is still room for further improvement of this project, what I can pursue latter. I have studied, there is many opportunities to explore the subject of image processing and further improvement. Worth mentioning, in future, image processing will help in scanning extra-terrestrial life in space. It will also help to improve robotic technology. Advances in image processing and artificial intelligence will work to complement each other that would ensure more robust security system, medical diagnostics and manufacturing industries among many other fields. 8. Glossary Blurring: An area process that produces an effect similar to an out-of-focus photograph. Blurring removes the detail in an image by making each pixel more like its neighbors. Cropping: A geometric process that reduces the size of an image by discarding the pixels outside a specified region called the crop selection Digital Image: An image captured by an imaging device and represented in a computer as a rectangular grid of pixels Edge: Edges marks the boundaries between the objects in a scene. A large change in pixel brightness over a small number of pixels often indicates the presence of an edge Histogram: The histogram of an image visualizes the distribution of the brightness in the image by plotting the number of occurrences of each brightness.
  • 18. Prepared by: Rajarshi Roy Page 18/26 9. Bibliography 1. Class notes on C ++ and Matlab of Prof. David McPherson, Computer Engineering Department, Virginia Tech University, USA. 2. Books: The C++ Programming Language by Bjarne Stroustrup 3.http://stackoverflow.com/questions/13750142/c-image-proccessing-reading-an-image-file-into-2d- array 4. http://www.cplusplus.com/reference 5. http://www.astro.umd.edu/~cychen/MATLAB/ASTR310/Lab02/html/images01.html 6. http://www.csc.villanova.edu/~tway/courses/csc8610/s2012/workshop1/rahul_and_pavitra/Worksho p1%20-%20Rahul%20&%20Pavitra.html 7. https://www.khronos.org/registry/cl/sdk/1.1/docs/man/xhtml/imageFunctions.html 10. Appendix Copy of presentation of the Project “Digital Image Processing and Analysis” END