This document describes a summer internship project on digital image processing and analysis conducted by Rajarshi Roy at the Indian Institute of Engineering Science and Technology under the guidance of Dr. Samit Biswas from May to June 2016. It includes an acknowledgment, table of contents, abstract, and analysis of various digital image processing techniques applied to images, including reading and writing images, applying filters like negative, sharpening, edge detection, transposing the image matrix, stretching images, and applying mean filtering. The document provides details on the code developed in C++ to perform these image processing functions and analyze the results.
Introduction to Digital Image Processing Using MATLABRay Phan
This was a 3 hour presentation given to undergraduate and graduate students at Ryerson University in Toronto, Ontario, Canada on an introduction to Digital Image Processing using the MATLAB programming environment. This should provide the basics of performing the most common image processing tasks, as well as providing an introduction to how digital images work and how they're formed.
You can access the images and code that I created and used here: https://www.dropbox.com/sh/s7trtj4xngy3cpq/AAAoAK7Lf-aDRCDFOzYQW64ka?dl=0
This is the basic introductory presentation for beginners. It gives you the idea about what is image processing means. The presentation consists of introduction to digital image processing, image enhancement, image filtering, finding an image edge, image analysis, tools for image processing and finally some application of digital image processing.
It is the basic introduction of how the images will be captured and converted form analog to digital format by using sampling and quantization process and further algorithms will be apply on the digitized image.
Introduction to Digital Image Processing Using MATLABRay Phan
This was a 3 hour presentation given to undergraduate and graduate students at Ryerson University in Toronto, Ontario, Canada on an introduction to Digital Image Processing using the MATLAB programming environment. This should provide the basics of performing the most common image processing tasks, as well as providing an introduction to how digital images work and how they're formed.
You can access the images and code that I created and used here: https://www.dropbox.com/sh/s7trtj4xngy3cpq/AAAoAK7Lf-aDRCDFOzYQW64ka?dl=0
This is the basic introductory presentation for beginners. It gives you the idea about what is image processing means. The presentation consists of introduction to digital image processing, image enhancement, image filtering, finding an image edge, image analysis, tools for image processing and finally some application of digital image processing.
It is the basic introduction of how the images will be captured and converted form analog to digital format by using sampling and quantization process and further algorithms will be apply on the digitized image.
Interpolation Technique using Non Linear Partial Differential Equation with E...CSCJournals
With the large use of images for the communication, image zooming plays an important role.
Image zooming is the process of enlarging the image with some factor of magnification, where
the factor can be integer or non-integer. Applying zooming algorithm to an image generally results
in aliasing; edge blurring and other artifacts. The main focus of the work presented in this paper is
on the reduction of these artifacts. This paper focuses on reduction of these artifacts and
presents an image zooming algorithm using non-linear fourth order PDE method combined with
edge directed bi-cubic algorithm. The proposed method uses high resolution image obtained from
edge directed bi-cubic interpolation algorithm to construct the zoomed image. This technique
preserves edges and minimizes blurring and staircase effects in the zoomed image. In order to
evaluate image quality obtained after zooming, the objective assessment is performed.
Image Enhancement Using Filter To Adjust Dynamic Range of PixelsIJERA Editor
In this paper, we propose a novel algorithm for image enhancement in compressed (DCT) domain. Despite, few algorithms have been reported to enhance images in DCT domain proposed algorithm differs from previous algorithms in such a way that it enhances both dark and bright regions of an image equally well. In addition, it outperforms in enhancing the chromatic components as well as luminance components. Since the algorithm works in DCT domain, computational complexity is reduced reasonably.
Abstract
Field of image processing has vast applications in medical, forensic, research etc., It includes various domains like enhancement,
classification, segmentation, etc., which are widely used for these applications. Image Enhancement is the pre processing step on
which the accuracy of the result lies. Image enhancement aims to improve the visual appearance of an image, without affecting
the original attributes (i.e.,) image contrast is adjusted and noise is removed to produce better quality image. Hence image
enhancement is one of the most important tasks in image processing. Enhancement is classified into two categories spatial domain
enhancement and frequency domain enhancement. Spatial domain enhancement acts upon pixel value whereas frequency domain
enhancement acts on the Fourier transform of the image. The enhancement techniques to be used depend on modality, climatic
and visual perspective etc., In this paper, we present a survey on various existing image enhancement techniques.
Keywords: Enhancement, Spatial domain enhancement, Frequency domain enhancement, Contrast, Modality.
The students can learn about basics of image processing using matlab.
It explains the image operations with the help of examples and Matlab codes.
Students can fine sample images and .m code from the link given in slides.
Wavelet-Based Warping Technique for Mobile Devicescsandit
The role of digital images is increasing rapidly in
mobile devices. They are used in many
applications including virtual tours, virtual reali
ty, e-commerce etc. Such applications
synthesize realistic looking novel views of the ref
erence images on mobile devices using the
techniques like image-based rendering (IBR). Howeve
r, with this increasing role of digital
images comes the serious issue of processing large
images which requires considerable time.
Hence, methods to compress these large images are v
ery important. Wavelets are excellent data
compression tools that can be used with IBR algorit
hms to generate the novel views of
compressed image data. This paper proposes a framew
ork that uses wavelet-based warping
technique to render novel views of compressed image
s on mobile/ handheld devices. The
experiments are performed using Android Development
Tools (ADT) which shows the proposed
framework gives better results for large images in
terms of rendering time.
A Biometric Approach to Encrypt a File with the Help of Session KeySougata Das
The main objective of this work is to provide a two layer authentication system through biometric (face) and conventional session based password authentication. The encryption key for this authentication will be generated with the combination of the biometric key and session based password.
In this project we have implemented a tool to inpaint selected regions from an image. Inpainting refers to the art of restoring lost parts of image and reconstructing them based on the background information. The tool provides a user interface wherein the user can open an image for inpainting, select the parts
of the image that he wants to reconstruct. The tool would then automatically inpaint the selected area according to the background information. The image can
then be saved. The inpainting in based on the exemplar based approach. The basic aim of this approach is to find examples (i.e. patches) from the image and
replace the lost data with it. Applications of this technique include the restoration of old photographs and damaged film; removal of superimposed text like
dates, subtitles etc.; and the removal of entire objects from the image like microphones or wires in special effects.
It Works well on images while you want to edit an image or to repair old images. it also has great results on occluded images and good to use on censorship purposes. Appropriate reconstruction is one of its features.
one of the main and effective purposes is to complete images which have been destroyed during a time on SSDs or during transferring data in a transmission line or during transferring data between two devices such as laptop or Cellphones
Hope you all enjoy and make it as a reference
Comparative between global threshold and adaptative threshold concepts in ima...AssiaHAMZA
A digital image can be considered as a discrete representation of data possessing both spatial (layout) and
intensity (colour) information. Pixel intensities form a gateway communication between human perception
of things and digital image processing.
Image thresholding is a simple form of image segmentation. It is a way to create a binary image from a
grayscale or full-color image. This is typically done in order to separate "object" or foreground pixels from
background pixels to aid in image processing.
In this paper we aim to present a small and modest comparative between two kind of image thresholding.
The local and adapatative concepts may not give the same correct results at the end of a process, and we
aim to demonstrate which kind of the two
A comparative analysis of retrieval techniques in content based image retrievalcsandit
Basic group of visual techniques such as color, shape, texture are used in Content Based Image
Retrievals (CBIR) to retrieve query image or sub region of image to find similar images in
image database. To improve query result, relevance feedback is used many times in CBIR to
help user to express their preference and improve query results. In this paper, a new approach
for image retrieval is proposed which is based on the features such as Color Histogram, Eigen
Values and Match Point. Images from various types of database are first identified by using
edge detection techniques .Once the image is identified, then the image is searched in the
particular database, then all related images are displayed. This will save the retrieval time.
Further to retrieve the precise query image, any of the three techniques are used and
comparison is done w.r.t. average retrieval time. Eigen value technique found to be the best as
compared with other two techniques.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
Interpolation Technique using Non Linear Partial Differential Equation with E...CSCJournals
With the large use of images for the communication, image zooming plays an important role.
Image zooming is the process of enlarging the image with some factor of magnification, where
the factor can be integer or non-integer. Applying zooming algorithm to an image generally results
in aliasing; edge blurring and other artifacts. The main focus of the work presented in this paper is
on the reduction of these artifacts. This paper focuses on reduction of these artifacts and
presents an image zooming algorithm using non-linear fourth order PDE method combined with
edge directed bi-cubic algorithm. The proposed method uses high resolution image obtained from
edge directed bi-cubic interpolation algorithm to construct the zoomed image. This technique
preserves edges and minimizes blurring and staircase effects in the zoomed image. In order to
evaluate image quality obtained after zooming, the objective assessment is performed.
Image Enhancement Using Filter To Adjust Dynamic Range of PixelsIJERA Editor
In this paper, we propose a novel algorithm for image enhancement in compressed (DCT) domain. Despite, few algorithms have been reported to enhance images in DCT domain proposed algorithm differs from previous algorithms in such a way that it enhances both dark and bright regions of an image equally well. In addition, it outperforms in enhancing the chromatic components as well as luminance components. Since the algorithm works in DCT domain, computational complexity is reduced reasonably.
Abstract
Field of image processing has vast applications in medical, forensic, research etc., It includes various domains like enhancement,
classification, segmentation, etc., which are widely used for these applications. Image Enhancement is the pre processing step on
which the accuracy of the result lies. Image enhancement aims to improve the visual appearance of an image, without affecting
the original attributes (i.e.,) image contrast is adjusted and noise is removed to produce better quality image. Hence image
enhancement is one of the most important tasks in image processing. Enhancement is classified into two categories spatial domain
enhancement and frequency domain enhancement. Spatial domain enhancement acts upon pixel value whereas frequency domain
enhancement acts on the Fourier transform of the image. The enhancement techniques to be used depend on modality, climatic
and visual perspective etc., In this paper, we present a survey on various existing image enhancement techniques.
Keywords: Enhancement, Spatial domain enhancement, Frequency domain enhancement, Contrast, Modality.
The students can learn about basics of image processing using matlab.
It explains the image operations with the help of examples and Matlab codes.
Students can fine sample images and .m code from the link given in slides.
Wavelet-Based Warping Technique for Mobile Devicescsandit
The role of digital images is increasing rapidly in
mobile devices. They are used in many
applications including virtual tours, virtual reali
ty, e-commerce etc. Such applications
synthesize realistic looking novel views of the ref
erence images on mobile devices using the
techniques like image-based rendering (IBR). Howeve
r, with this increasing role of digital
images comes the serious issue of processing large
images which requires considerable time.
Hence, methods to compress these large images are v
ery important. Wavelets are excellent data
compression tools that can be used with IBR algorit
hms to generate the novel views of
compressed image data. This paper proposes a framew
ork that uses wavelet-based warping
technique to render novel views of compressed image
s on mobile/ handheld devices. The
experiments are performed using Android Development
Tools (ADT) which shows the proposed
framework gives better results for large images in
terms of rendering time.
A Biometric Approach to Encrypt a File with the Help of Session KeySougata Das
The main objective of this work is to provide a two layer authentication system through biometric (face) and conventional session based password authentication. The encryption key for this authentication will be generated with the combination of the biometric key and session based password.
In this project we have implemented a tool to inpaint selected regions from an image. Inpainting refers to the art of restoring lost parts of image and reconstructing them based on the background information. The tool provides a user interface wherein the user can open an image for inpainting, select the parts
of the image that he wants to reconstruct. The tool would then automatically inpaint the selected area according to the background information. The image can
then be saved. The inpainting in based on the exemplar based approach. The basic aim of this approach is to find examples (i.e. patches) from the image and
replace the lost data with it. Applications of this technique include the restoration of old photographs and damaged film; removal of superimposed text like
dates, subtitles etc.; and the removal of entire objects from the image like microphones or wires in special effects.
It Works well on images while you want to edit an image or to repair old images. it also has great results on occluded images and good to use on censorship purposes. Appropriate reconstruction is one of its features.
one of the main and effective purposes is to complete images which have been destroyed during a time on SSDs or during transferring data in a transmission line or during transferring data between two devices such as laptop or Cellphones
Hope you all enjoy and make it as a reference
Comparative between global threshold and adaptative threshold concepts in ima...AssiaHAMZA
A digital image can be considered as a discrete representation of data possessing both spatial (layout) and
intensity (colour) information. Pixel intensities form a gateway communication between human perception
of things and digital image processing.
Image thresholding is a simple form of image segmentation. It is a way to create a binary image from a
grayscale or full-color image. This is typically done in order to separate "object" or foreground pixels from
background pixels to aid in image processing.
In this paper we aim to present a small and modest comparative between two kind of image thresholding.
The local and adapatative concepts may not give the same correct results at the end of a process, and we
aim to demonstrate which kind of the two
A comparative analysis of retrieval techniques in content based image retrievalcsandit
Basic group of visual techniques such as color, shape, texture are used in Content Based Image
Retrievals (CBIR) to retrieve query image or sub region of image to find similar images in
image database. To improve query result, relevance feedback is used many times in CBIR to
help user to express their preference and improve query results. In this paper, a new approach
for image retrieval is proposed which is based on the features such as Color Histogram, Eigen
Values and Match Point. Images from various types of database are first identified by using
edge detection techniques .Once the image is identified, then the image is searched in the
particular database, then all related images are displayed. This will save the retrieval time.
Further to retrieve the precise query image, any of the three techniques are used and
comparison is done w.r.t. average retrieval time. Eigen value technique found to be the best as
compared with other two techniques.
International Journal of Engineering Research and Applications (IJERA) is an open access online peer reviewed international journal that publishes research and review articles in the fields of Computer Science, Neural Networks, Electrical Engineering, Software Engineering, Information Technology, Mechanical Engineering, Chemical Engineering, Plastic Engineering, Food Technology, Textile Engineering, Nano Technology & science, Power Electronics, Electronics & Communication Engineering, Computational mathematics, Image processing, Civil Engineering, Structural Engineering, Environmental Engineering, VLSI Testing & Low Power VLSI Design etc.
A COMPARATIVE ANALYSIS OF RETRIEVAL TECHNIQUES IN CONTENT BASED IMAGE RETRIEVALcscpconf
Basic group of visual techniques such as color, shape, texture are used in Content Based Image Retrievals (CBIR) to retrieve query image or sub region of image to find similar images in image database. To improve query result, relevance feedback is used many times in CBIR to help user to express their preference and improve query results. In this paper, a new approach for image retrieval is proposed which is based on the features such as Color Histogram, Eigen Values and Match Point. Images from various types of database are first identified by using edge detection techniques .Once the image is identified, then the image is searched in the particular database, then all related images are displayed. This will save the retrieval time. Further to retrieve the precise query image, any of the three techniques are used and comparison is done w.r.t. average retrieval time. Eigen value technique found to be the best as compared with other two techniques.
Improving image resolution through the cra algorithm involved recycling proce...csandit
Image processing concepts are widely used in medical fields. Digital images are prone to a
variety of types of noise. Noise is the result of errors in the image acquisition process for
reconstruction that result in pixel values that reflect the true intensities of the real scenes. A lot
of researchers are working on the field analysis and processing of multi-dimensional images.
Work previously hasn’t sufficient to stop them, so they continue performance work is due by the
researcher. In this paper we contribute a novel research work for analysis and performance
improvement about to image resolution. We proposed Concede Reconstruction Algorithm (CRA)
Involved Recycling Process to reduce the remained problem in improvement part of an image
processing. The CRA algorithms have better response from researcher to use them
IMPROVING IMAGE RESOLUTION THROUGH THE CRA ALGORITHM INVOLVED RECYCLING PROCE...cscpconf
Image processing concepts are widely used in medical fields. Digital images are prone to a variety of types of noise. Noise is the result of errors in the image acquisition process for
reconstruction that result in pixel values that reflect the true intensities of the real scenes. A lot of researchers are working on the field analysis and processing of multi-dimensional images. Work previously hasn’t sufficient to stop them, so they continue performance work is due by the researcher. In this paper we contribute a novel research work for analysis and performance improvement about to image resolution. We proposed Concede Reconstruction Algorithm (CRA)
Involved Recycling Process to reduce the remained problem in improvement part of an image processing. The CRA algorithms have better response from researcher to use them.
Image enhancement plays an important role in vision applications. Recently a lot of work has been performed in the field of image enhancement. Many techniques have already been proposed till now for enhancing the digital images. This paper has presented a comparative analysis of various image enhancement techniques. This paper has shown that the fuzzy logic and histogram based techniques have quite effective results over the available techniques. This paper ends up with suitable future directions to enhance fuzzy based image enhancement technique further. In the proposed technique, an approach is made to enhance the images other than low-contrast images as well by balancing the stretching parameter (K) according to the color contrast. Proposed technique is designed to restore the degraded edges resulted due to contrast enhancement as well.
International Journal of Computational Engineering Research(IJCER) ijceronline
nternational Journal of Computational Engineering Research (IJCER) is dedicated to protecting personal information and will make every reasonable effort to handle collected information appropriately. All information collected, as well as related requests, will be handled as carefully and efficiently as possible in accordance with IJCER standards for integrity and objectivity.
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
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++.
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