FINAL K.edited GG

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 56

MEASUREMENT OF DIAMETER OF AN IMAGE OF CIRCULAR

BODY BY USING MATLAB

A PROJECT REPORT
Submitted by

SK MD KAIF (35501618004)
SK JAHEDUL HAQUE (35501618006)
SAMIKSHA MAHATO (35501618007)
BISWAJIT DAS (35501618013)

In partial fulfillment for the award of the degree


Of
BACHELOR OF TECHNOLOGY
IN
ELECTRICAL ENGINEERING

GHANI KHAN CHOUDHURY INSTITUTE OF ENGINEERING AND


TECHNOLOGY, NARAYANPUR, MALDA, 732141
MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY,
WEST BENGAL
(Formerly known as West Bengal University of Technology)
KOLKATA - 700064

JUNE 2022
i
MEASUREMENT OF DIAMETER OF AN IMAGE OF CIRCULAR
BODY BY USING MATLAB

A PROJECT REPORT
Submitted by

SK MD KAIF (35501618004)
SK JAHEDUL HAQUE (35501618006)
SAMIKSHA MAHATO (35501618007)
BISWAJIT DAS (35501618013)

In partial fulfillment for the award of the degree


Of
BACHELOR OF TECHNOLOGY
IN
ELECTRICAL ENGINEERING

GHANI KHAN CHOUDHURY INSTITUTE OF ENGINEERING AND


TECHNOLOGY, NARAYANPUR, MALDA, 732141
MAULANA ABUL KALAM AZAD UNIVERSITY OF TECHNOLOGY,
WEST BENGAL
(Formerly known as West Bengal University of Technology)
KOLKATA - 700064

JUNE 2022
ii
MEASUREMENT OF DIAMETER OF AN IMAGE OF CIRCULAR
BODY BY USING MATLAB

iii
ACKNOWLEDGMENT

It is our privilege to express our sincerest regards to our project coordinator, Mr. Goutam
Kumar Ghorai, for his valuable input, able guidance, encouragement, whole-hearted
cooperation, and constructive criticism throughout our project. We deeply express our sincere
thanks to our Head of Department Dr. Prof. Sandip Chanda for encouraging and allowing us to
present the project on the topic “Using MATLAB to measure the diameter of an object
within an image” at our department premises for the partial fulfillment of the requirements
leading to the award of B-Tech degree. We take this opportunity to thank all our lecturers who
have directly or indirectly helped our project. We pay our respects and love to our parents and
all other family members and friends for their love and encouragement throughout our careers.
Last but not least we express our thanks to our friends for their cooperation and support.

……………….……………. ……………….…………….
SK MD KAIF
………….. SK JAHEDUL
…………..
Roll no- 35501618005 HAQUE
Roll no- 35501618006

……………….……………. ……………….…………….
SAMIKSHA
………….. BISWAJIT
………….. DAS
MAHATO
Roll no- 35501618007 Roll no- 35501618013

DECLARATION

iv
We declare that this written submission represents our ideas in our own words and where others'
ideas or words have been included, we have adequately cited and referenced the sources. We
also declare that we have adhered to all principles of academic honesty and integrity and have
not misrepresented or fabricated or falsified any idea/data/fact/source in our submission. We
understand that any violation of the above will be cause for disciplinary action by the Institute
and can also evoke penal action from the sources which have thus not been properly cited or
from whom proper permission has not been taken when needed.

……………….……………. …………….…………….
SK MD KAIF
………….. SK JAHEDUL
…………..
Roll no- 35501618005 HAQUE
Roll no- 35501618006

……………….……………. ……………….…………….
SAMIKSHA
………….. BISWAJIT
………… DAS
MAHATO
Roll no- 35501618007 Roll no- 35501618013

BONAFIDE CERTIFICATE

Certified that this project report “Using MATLAB to Measure the Diameter of an Object
Within an Image is the bona fide work of SK MD KAIF, SK JAHEDUL HAQUE,
v
SAMIKSHA MAHATO, BISWAJIT DAS who carried out the project work under my
supervision.

………………………... ………………………...
………….. …………..
Dr. SANDIP CHANDA
Mr. GOUTAM KUMAR GHORAI

Head of the Department Head of the Department


Department of Electrical Department of Electrical
Engineering Engineering

ABSTRACT

In the present work, we have developed an image analysis method to calculate the diameter of an object present
in an input image. The developed method is a multi-stage method, where first an input color image is converted
to a grayscale image. Then the grayscale image is binarized to generate a binary image. On the binary image,
many morphological operations are performed for noise elimination and region filling. In this scope of the
thesis, we have considered multiple algorithms for every stage to identify the best-performing algorithm for our
case. To develop this method, we have used the MATLAB platform.

vi
vii
TABLE OF CONTENTS

List of Tables iii


List of Figures iv
List of Abbreviations vi
CHAPTER 1: INTRODUCTION 1-2
1.1 Introduction to Image Processing 1

1.2 Applications 2
CHAPTER 2: LITERATURE REVIEW 3-5
2.1 Review of Related Work 3
CHAPTER 3: THEORETICAL BACKGROUND 6-11
3.1 Types of Digital Image 6
3.1.1 Binary Image 6
3.1.2 Gray-scale Image 6
3.1.3 Color Image 6
3.1.4 Multispectral Image 7
3.2 A Simple Image Formation Model 7

3.3 Using MATLAB to Read to RGB 8


3.3.1 RGB Image 8
3.3.2 Color Planes of RGB Image 9

3.3.3 RGB Image Array Range 9


3.3.4 Bit Depth 9
3.3.5 Possible Number of Colors in RGB Image 10
3.3.6 Proposed Methodology 10
3.3.7 Algorithm 11
CHAPTER 4: METHODOLOGY 12-34

i
4.1 Basic Image Import 12
4.1.1 Read & Display an IMAGE 12
4.1.2 Check How the Image appears in the workspace 13
4.1.3 Improve Image Contrast 13

4.1.4 Write the Adjust Image to a Disk File 15


4.2 Image Segmentation 16
4.2.1 Function 16
4.2.2 Otsu Thresh 17
4.2.3 Adapt Thresh 18
4.3 Filtering 20
4.3.1 Filter Gray-scale and True Color (RGB) Images 20
4.3.2 Filter 2-D Gray-scale Image Within Average Filter 20
4.3.3 Filter Images Using Predefined Filter 21
4.3.4 imfilter Boundary Padding options 23
4.3.4.1 When the Values of the Kernel Fall Outside the Image 23
4.3.4.2 Zero Padding of Outside Pixels 23
4.3.4.3 Replicated Boundary Pixels 24
4.4 Noise Removal 26
4.4.1 Remove Noise by Linear Filtering 26
4.4.2 Remove Noise Using an Averaging Filter and a Median Filter 26
4.4.3 Remove Noise by Adaptive Filtering 28
4.5 Region Filing 31
4.5.1 Fill Region of Interest in an Image 31
4.6 Diameter Measure 34

CHAPTER 5: RESULT AND DISCUSSION 35

CHAPTER 6: CONCLUSION 36

REFERENCES 37-40

ii
LIST OF TABLE

Table no. Table

4.2. a Function 16

iii
LIST OF FIGURES

Fig. no. Figure Description Page no.

3.1 Representation of a typical RGB color image 7


3.2 RGB image is a three-layered image 8
3.3 Pixel of an RGB image is formed from the corresponding 9
pixel of the three component images

3.4 Diagram 10
3.5 Algorithm 11
4.1 Import image 12
4.2 Workspace 13
4.3 Histogram image 13
4.4 Intensity increase 14
4.5 Compare the two Histograms 14
4.6 Image information 15
4.7 Thresholding range 17
4.8 Original to binary & gray thresh 18
4.9 Adaptive thresholding 19
4.10 Import original image 20
4.11 Averaging filter image 21
4.12 7*7 double 22
4.13 Gaussian filter image 22
4.14 Kernel outside pixel 23
4.15 Zero padding outside pixel 23
4.16 Filtered image with black border 24
4.17 Center of kernel 24

iv
4.18 Border replication 25
4.19 Import original image 27
4.20 Add salt & pepper noise 27
4.21 Added Gaussian noise 29
4.22 Noise removes by winner filter 30
4.23 Region filling 32

4.24 Display the mask image 32


4.25 Diameter image 34

v
vi
LIST OF ABBREVIATIONS

Abbreviations Full Form

RGB Red, Green & Blue


ROI Regions of Interest
JPG Joint Photographic Group
PNG Portable Network Graphics
CCD Charge Coupled Device
2-D 2 Dimensional
MRI Magnetic Resonance Imaging

vii
viii
CHAPTER 1

INTRODUCTION

1.1 Introduction
From the moment we wake up and open our eyes we are processing images. It is
image processing that makes us complete tasks. From the everyday snapping of camera
phones, as well as image enhancement via playful apps, to advance biometric sensing,
factory machine vision, and driverless automobiles. Image processing systems take usual
information and convert it into usual data from this meaningful data, dedicated software
will provide output in a convenient form or even analyze it to make decisions.
Image processing is the technique to convert an image into digital format and perform
operations on it to get an enhanced image or extract some useful information from it.
Changes that take place in images are usually performed automatically and rely on
carefully designed algorithms.
Image processing is a multidisciplinary field, with contributions from different branches
of science including mathematics, physics, optical and electrical engineering. Moreover,
it overlaps with other areas such as pattern recognition, machine learning, artificial
intelligence, and human vision research. Different steps involved in image processing
include importing the image with an optical scanner or from a digital camera, analyzing
and manipulating the image (data compression, image enhancement, and filtering), and
generating the desired output image.
Day by day spread of users increasing which has been an industrial revolution
during the last 19th and 20th centuries. The most promising type is image processing
which has a huge perspective around the world. In this thesis, we have developed a Noise
reduction algorithm. The experimental results show that the two improved Partial
differential equation image segmentation models (PDEISM) have obvious denoising
effects, good visual effects, and strong comprehensive performance. The simulation
experiment was carried out with MATLAB software to verify the superiority of the
improved algorithm.
MATLAB simulation is one of the best simulators which has not only been easy to
use but also a less time taking process. With the help of this simulator, we have
calculated or measured the diameter of an unknown 2D image. In this system generally,
we have put an image along with a little bit of programming and we will get our
necessary output which has been very much authentic. Nowadays most the sector has
been applied image processing. In the medical field, there has been a huge application of
image processing. advancement of several optimization technologies and performance
analysis techniques that have been used to minimize the effect of different physical
conditions on the output of image processing.
1
1.2Application
Image processing plays an important role in future technology in the field of
medical science including scriber security, Driverless car driving, Automatic handwriting
recognition, and technology that reduces human labor and increase accuracy in the
automation industry. image processing is a power full tool that can make change our
socio-economic condition and standard of living style. Nowadays this technology is
extensively used to analyze and determine the shape and size of an object from a different
source of an image like MRI image, X-ray image, camera image analysis, etc. In our
present work, we adopt a very much useful technique to find out the dimension of
circular shape from an image using MATLAB. we have taken different preprocessing
technology at the time of computation for the interest of work.
Now a day, medical sectors are benefited from image processing technology by
which Doctors can easily observe inside the human body to determine the shape and size
of different organs without non-invasive procedure. In the case of Laparoscopic
operation, a doctor can operate with the image from a mini camera. Magnetic resonance
imaging (MRI) can also provide a 3D sense of image which is very much helpful to
investigate and diagnose the different disses. Automatic detection of no plate of the
vehicle on the roadside is very much helpful in tracking and trace of vehicles by using
image processing technology.
Another sector that stands to benefit is consumer electronics, and in particular,
augmented reality devices. Such systems seem to benefit the most from advanced image
processing thanks to an optimized combination of sensing devices. Computer vision
programs, computer graphics rendering, and display devices, all involve image
processing.
In the field of remote sensing, the area of the earth is scanned by a satellite or from very
high ground and then it is analyzed to obtain information about it. One particular
application of digital image processing in the field of remote sensing is to detect
infrastructure damages caused by an earthquake.
Apart from the many challenges that a robot face today, one of the biggest challenges still
is to increase the vision of the robot. Make robots able to see things, identify them,
identify the hurdles, etc. Much work has been contributed by this field and a complete
other fields of computer vision have been introduced to work on it.
Hurdle detection is one of the common tasks that has been done through image
processing, by identifying different types of objects in the image and then calculating the
distance between the robot and hurdles.
Most of the robots today work by following the line and thus are called line follower
robots. This helps a robot to move on its path and perform some tasks. This has also been
achieved through image processing.

2
Color processing includes the processing of color images and different color spaces that
are used. For example, RGB color model, YCbCr, HSV. It also involves studying the
transmission, storage, and encoding of these color images.

CHAPTER 2

LITERATURE REVIEW

2.1 Review Work


In this section, some related works are reviewed. MATLAB has got good signal
processing application tools in its toolbox that are designed to assist scientists and
engineers to meet their goals. Some of the MATLAB-based application tools for image
processing applications are hereby presented. Yang [1] proposed a MATLAB-based
image processing for medical engineering applications. He highlighted the importance
of image data in medical engineering as the main source of information exchange and
posited that although the medical engineering application of digital image processing
attracts a huge cost, it always produces effective results by minimizing noise effects
and enhancing the image quality. In the medical engineering field, processed images
carry much medical, and pathological information about a particular ailment. A
software simulation analysis of image recognition using a MATLAB-based technique
is presented in [2]. The paper highlights a methodological approach showing a
MATLAB-based implementation of a software system for the analysis of image
recognition. Buksh et al. [3] proposed a MATLAB-based image editing and color
detection that exploits functions inherent in the MATLAB toolbox to implement
various image processing applications. The use of MATLAB as a computing platform
and backbone of emerging visual communication, suitable for developing, and testing
many applications was emphasized in [4], where authors also suggested its use in the
teaching of digital signal processing. According to the authors, MATLAB provides a
GUI that enhances easy understanding of the concepts. Some insights into a
MATLAB-based basic image processing technique such as edge detection, image
restoration, segmentation, and denoising are provided in [5], [6].

The authors suggest a digital image processing application that includes


character recognition and feature extraction as well as remote sensing and computer
vision. Dutch and Deepa [7], Goel et al. [8], in authors suggest the use of the RGB
color model in the MATLAB picture toolbox for color detection and the
implementation of the result of the algorithm as part of security architected [9]
presented an analysis of a MATLAB-based image segmentation technique, which
presented image segmentation as an essential step for image analysis, object
representation, and image visualization to transform an image into the desired format.
Also, the various techniques employed in image segmentation and the analyses of their
outputs using MATLAB software were highlighted. Authors Sahu and Dewangan [10],
3
and Mishra et al. [11] proposed fruit identification and classification using MATLAB-
based image processing applications. This technique is essentially aimed at detecting
good and bad fruits including identifying visible defects in the sizes and shapes of the
fruits.

Sharma [12] presented the performance analysis of MATLAB-based image


processing algorithms applied in the biomedical sector. Their analysis showed the
importance of biomedical imaging in the detection of disease as a result of image
processing. Some medical equipment that depends on image processing algorithms
includes ultrasound, MRI, and CT scan machines. Radiologists are those that make
use of image processing algorithms to detect some diseases and abnormalities. The
author further explained that MATLAB has proprietary tools used by image
architects to design these algorithms. According to the author, image processing
algorithms that are designed using MATLAB provide efficiency, accuracy,
flexibility, and timing constraints. Abdullah et al. [13] highlighted a MATLAB-
based digital image processing technique for video text extraction that specifically
describes detection, tracking, and recognition.

Ray et al. [14] proposed a MATLAB-based image processing technique for


vehicle detection using a color-based approach. The main objective of this approach
is to enable easy tracking of cars, check for road traffic safety or conduct traffic
analysis [15], control traffic lights [16], and enhance control over vehicular
accidents. The use of MATLAB, SCILAB, and Raspberry Pi for image processing
was discussed in [17], where authors proposed the use of edge detection technique to
locate the boundaries of objects within images, and for image segmentation and
data extraction. Other implementations using MATLAB-based techniques for edge
detection were studied. Some examples of edge detection techniques running on
MATLAB include CANNY, SOBEL, and LAPLACIAN. To promote the growth
and productivity of the crop field, authors in [18]-[20] proposed a MATLAB-based
image processing technique for plant disease detection and monitoring. Sing and
Chetia, [19] investigated the use of MATLAB-based image processing techniques
for the detection of plant-leaf disease. Their technique took the form of image
acquisition, processing, segmentation, feature extraction, and classification. Details
of image processing techniques for fake note detection and fingerprint recognition
are presented in [21]-[23] respectively.

Koshy and Nair [23] proposed a black box for accident analysis using MATLAB.
The paper proposed a system that revealed the consciousness of the driver in non-
real-time processing using MATLAB simulation of the image fetched from the
black box device. The authors suggested three major ways of exploiting the system
including detection and recording of data, storing the recorded data in the black box,
and then analyzing the image data stored in a black box using MATLAB. Several
discussions were provided by different authors on image processing applications
using the MATLAB technique. Some of these include: parking space detection [24],
printed circuit board (PCB) defect detection [25], edge detection [26], cell growth
analysis [26], and grain counting [27]. Samarawickrama and Wickramasinghe in

4
[28], authors used a MATLAB-based image processing technique to detect the
surface defect in ceramic tiles. Bansal et al. authors [29] discussed the image
enhancement technique using MATLAB simulation-based approach. With this
approach, the authors distinguished two categories of image enhancement and
concluded that the frequency domain approach presented a much easier
implementation compared to the spatial domain approach.

Kumar and Kusagur [30] examined a MATLAB-based performance


evaluation of various image denoising techniques on several images. The evaluation
aimed to further highlight recent improvements in MATLAB-based image denoising
techniques compared to the conventional noise filtering approaches. The evaluation
showed improvements over the traditional techniques for image denoising. The
study in [31], [32] investigated a MATLAB-based approach for edge detection and
analysis of an image. Edge detection is a fundamental step in image processing
operations utilizing several detection operators that perform image processing
operations on an image. Details of the functions of each of the various edge
detection techniques and operators (e.g., Sobel, Robert, Prewitt, Canny, and
Laplacian of Gaussian) are also highlighted. The paper [32] notes that edge detection
serves as a basis for several image processing operations including image
enhancement, image tracking, image segmentation, and coding. Image segmentation
is regarded as one of the major steps in image processing techniques and a difficult
and complex aspect of image processing. The segmentation method is used to
partition a digital image into multiple portions before analysis. The method is also
used to differentiate various objects in an image and is required for analysis. Major
image segmentation techniques are discussed in [33]. A comprehensive review using
a MATLAB-based approach is provided in [34].

5
CHAPTER 3

THEORETICAL BACKGROUND

3.1 Types of Digital Images


The images types we will consider are:
I. Binary
II. Gray-scale
III. Color
IV. Multispectral

3.1.1 Binary
The possible number of colors in RGB image:
Let an RGB image is of class ‘uint8’, i.e. the range of values a color component plane
can have [0 – 255] (a total of 256 shades of that color).
So, each color plane of An RGB image is capable of showing 256 shades of that color.
So the total number of combinations of color that can be represented in an RGB image
is 256 X 256 X 256 = 16777216, approximately 16 million.

3.1.2 Gray-scale Images


Gray-scale images are referred to as monochrome (one-color) images. They contain gray-
level information and no color information. The number of bits used for each pixel
determines the number of different gray levels available. The typical gray-scale image
contains 8bits/pixel data, which allows us to have 256 different gray levels. The figure
below shows examples of gray-scale images. Figure 2.2 Examples of gray-scale images
application like medical imaging and astronomy, 12 or 16 bits/pixel images are used.
These extra gray levels become useful when a small section of the image is made much
larger to discern details.

3.1.3 Color Images

6
Color images can be modeled as three-band monochrome image data, where each band of
data corresponds to a different color. The actual information stored in the digital image
data is the gray-level information in each spectral band. Typical color images are
represented as red, green, and blue (RGB images). Using the 8-bit monochrome standard
as a model, the corresponding color image would have 24-bits/pixel (8-bits for each of
the three-color bands red, green, and blue). The figure below illustrates a representation
of a typical RGB color image.

Fig. 3.1 Representation of a


typical RGB color image

3.1.4 Multispectral Images


Multispectral images typically contain information outside the normal human perceptual
range. This may include infrared, ultraviolet, X-ray, acoustic, or radar data. These are not
images in the usual sense because the information represented is not directly visible by
the human system. However, the information is often represented in visual form by
mapping the different spectral bands to RGB components.

3.2 A Simple Image Formation Model


In a mathematical view, a monochromatic image is a two-dimensional function, f (x, y),
where x and y are spatial (plane) coordinates, and the amplitude of any pair of
coordinates (x, y) is called the intensity or gray level of the image at that point. · The
values of a monochromatic image (i.e., intensities) are said to span the grayscale. · When
x, y, and the amplitude value of f are all finite, discrete quantities, the image is called a
digital image. The function f (x, y) must be nonzero and finite; that is, 0 < f (x, y) < ∞
Image Processing. The function f (x, y) is the product of two components: 1) the amount
of source illumination incident on scene I (x, y) and 2) the amount of illumination
reflected by the objects in the scene r (x, y): f (x, y) = i (x, y) r (x, y) where 0 is

7
considered black and l = L-1 is considered white on the grayscale. All intermediate
values are shades of gray varying from black to white.

3.3 Using MATLAB to Read to RGB


3.3.1 RGB Image
An RGB image can be viewed as three different images (a red scale image, a green
scale image, and a blue scale image) stacked on top of each other, and when fed into the
red, green, and blue inputs of a color monitor, it produces a color image on the screen.
An RGB image is sometimes referred to as a true-color image as the precision with which
a real-life image can be replicated has led to the nickname "true-color image.”

Fig. 3.2 RGB image is three-layered

In MATLAB, an RGB image is an M*N*3 array of the color pixel, where each color
pixel is associated with three values that correspond to the red, blue, and green color
component of the RGB image at a specified spatial location.

8
So, the color of any pixel is determined by the combination of the red, green, and blue
intensities stored in each color plane at the pixel’s location. Here each color plane is an
M*N array.

9
Fig. 3.3 Pixel of an RGB image are formed from the corresponding pixel of the three component images

As can be seen in the above image, Pixel(A) has values (255, 0, 255) and is determined
by the combination of intensities stored in the red color plane, green color plane, and
blue color plane respectively.
Similarly, pixel(B) has a value (127, 255, 0) and is determined in the same manner as
pixel(A).

3.3.2 Color planes of RGB Image


Consider an RGB image array ‘I’ then,
I(:,:, 1) represents the Red color plane of the RGB image
I(:,:, 2) represents the Green color plane of the RGB image
I(:,:, 3) represents the Blue color plane of the RGB image

3.3.3 RGB Image array range


In MATLAB, an RGB image array can be of class ‘double’, ‘uint8’, or ‘uint16’
datatype. The datatype class of the color component determines the range of values. For
example, if an RGB image is of class ‘double’ then each color component is a value
between 0 and 1. Similarly, if an RGB image is of class ‘uint8’, the range of values that
each color component can have is [0 – 255] and [0 – 65535].

3.3.4 Bit depth

10
The number of bits used to store a pixel value of a component image determines the bit
depth of an RGB image. For example, if each color component image is an 8-bit image,
the RGB image will be said to have 24 bits deep.
3.3.5 Possible number of colors in RGB Image
Let an RGB image is of class ‘uint8’, i.e., the range of values a color component plane
can have been [0 – 255] (a total of 256 shades of that color).

So, each color plane of An RGB image is capable of showing 256 shades of that color.
So the total number of combinations of color that can be represented in an RGB image
is 256 X 256 X 256 = 16777216, approximately 16 million.

3.3.6 Proposed Method

Fig. 3.4

11
3.3.7 Algorithm

Fig. 3.5

12
CHAPTER 4

METHODOLOGY

4.1 Basic Image Import

4.1.1 Step 1: Read and display an image


Read an image into the workspace, using the read command. The example reads one of
the sample images included with the toolbox, an image of a ball in a file named ball.jpg,
and stores it in an array named I. read infers from the file that the graphics file format is
Tagged Image File Format (jpg).

MATLAB syntax

I=imread('C:\Users\biswajit\OneDrive\Desktop\ball.jpg');

Display the image, using the imshow function. You can also view an image in the Image
Viewer app. The function opens the Image Viewer app which presents an integrated
environment for displaying images and performing some common image processing
tasks. The Image Viewer app provides all the image display capabilities of imshow but
also provides access to several other tools for navigating and exploring images, such as
scroll bars, the Pixel Region tool, Image Information tool, and the Contrast Adjustment
tool.

Elapsed time is 1.015412 seconds.

MATLAB syntax

imshow(I)

Fig. 4.113
Import image
4.1.2 Step 2: Check How the Image Appears in the Workspace.
Check how the imread function stores the image data in the workspace, using
the whos command. You can also check the variable in the Workspace Browser.
The imread function returns the image data in variable I, which is a 410x667x3 element
array of uint8 data.
Whos I

Fig. 4.2 Workspace

4.1.3 Step 3: Improve image contrast


View the distribution of image pixel intensities. The image ball.jpg is a somewhat low-
contrast image. To see the distribution of intensities in the image, create a histogram by
calling the imhist function. (Precede the call to imhist with the figure command so that
the histogram does not overwrite the display of the image I in the current figure window.)
Notice how the histogram indicates that the intensity range of the image is rather narrow.
The range does not cover the potential range of [0, 255], and is missing the high and low
values that would result in good contrast.

Elapsed time is 1.002375 seconds.

MATLAB syntax

figure, imhist(I);

Fig. 4.3 Histogram image

14
Improve the contrast in an image, using the histeq function. Histogram equalization
spreads the intensity values over the full range of the image. Display the image. (The
toolbox includes several other functions that perform contrast adjustment,
including imadjust and adapthisteq, and interactive tools such as the Adjust Contrast tool,
available in the Image Viewer.)
Elapsed time is 1.000297 seconds.

MATLAB syntax

I2=histeq(I);
figure
imshow(I2); title('after');

Fig. 4.4 Intensity increase

Call the imhist function again to create a histogram of the equalized image I2. If you


compare the two histograms, you can see that the histogram of I2 is more spread out over
the entire range than the histogram of I.
Elapsed time is 2.482338 seconds.

Fig. 4.5 Compare the two


Histograms
15
4.1.4 Step 4: Write the Adjust Image to a Disk File
Write the newly adjusted image I2 to a disk file, using the imwrite function. This
example includes the filename extension '.jpg' in the file name, so the imwrite function
writes the image to a file in Portable Network Graphics (JPG) format, but you can specify
other formats.

MATLAB syntax
imwrite(I2,'C:\Users\biswajit\OneDrive\Desktop\ball.jpg');

4.1.5 Step 5: Check the Contents of the Newly Written File.


View what imwrite wrote to the disk file, using the imfinfo function.
The imfinfo function returns information about the image in the file, such as its format,
size, width, and height.

Fig. 4.6 Image information

16
4.2 Image Segmentation
Image segmentation is the process of partitioning an image into parts or regions. This
division into parts is often based on the characteristics of the pixels in the image. For
example, one way to find regions in an image is to look for abrupt discontinuities in pixel
values, which typically indicate edges. These edges can define regions. Other methods
divide the image into regions based on color values or texture.
4.2.1 Function
graythresh Global image threshold using Otsu's
method.
multithresh Multilevel image thresholds using Otsu’s
method.
otsuthresh Global histogram threshold using Otsu's
method.
adaptthresh Adaptive image threshold using local
first-order statistics.
gray connected Select contiguous image region with
similar grey values using a flood-fill
technique,
watershed Watershed transforms.
active contour Segment image into foreground and
background using active contours
(snakes) region growing technique.
lazy snapping Segment image into foreground and
background using graph-based
segmentation,
grab cut Segment image into foreground and
background using iterative graph-based
segmentation.
imseggeodesic Segment the image into two or three
regions using geodesic distance-based
color segmentation.
imsegfmm Binary image segmentation using the fast
marching method.
gradient weight Calculate weights for image pixels based
on image gradient.
graydiffweight Calculate weights for image pixels based
on grayscale intensity difference.
imsegkmeans K-means clustering-based image
segmentation.
imsegkmeans3 K-means clustering-based volume
segmentation.
superpixels 2-D superpixel over-segmentation of
images.
Table no. 4.2.a
17
4.2.2 Otsu Thresh
Global histogram threshold using Otsu's method.
Syntax:
T = otsuthresh(counts)
[T, EM] = otsuthresh(counts)

Description:
T = otsuthresh(counts) computes a global threshold T from histogram
counts, counts, using Otsu's method. Otsu's method chooses a threshold that minimizes
the intraclass variance of the thresholde black and white pixels. The global
threshold T can be used with imbinarize to convert a grayscale image to a binary image.

[T, EM] = otsuthresh(counts) returns the effectiveness metric, EM, which indicates the


effectiveness of the thresholding.

Example:

Convert Intensity Image to Binary Image Using Level Threshold-

MATLAB syntax
I=imread('C:\Users\biswajit\OneDrive\Desktop\ball.jpg')
%Calculate a threshold using graythresh. The threshold is
normalized to the range [0, 1].
level = graythresh(I)

Fig. 4.7 Thresholding range

18
MATLAB syntax
%Convert the image into a binary image using the threshold.
BW = imbinarize (I, level);
%Display the original image next to the binary image.
imshowpair (I, BW,'montage');
Elapsed time is 1.013310 seconds.
I2=im2bw (I, level);
figure, imshow(I2);
Elapsed time is 1.002167 seconds.
a=rgb2gray(I);
figure, imshow(a);

Elapsed time is 1.001795 seconds.

Fig. 4.8 original to binary and graythresh

4.2.2 Adapt Thresh


Adaptive image threshold using local first-order statistics.
Syntax:
T = adaptthresh(I)
T = adaptthresh (I, sensitivity)
T = adaptthresh (___, Name, Value)

Description:
T = adaptthresh(I) computes a locally adaptive threshold for the 2-D grayscale
image or 3-D grayscale volume I. The adaptthresh function chooses the threshold based
on the local mean intensity (first-order statistics) in the neighborhood of each pixel.

19
The threshold T can be used with the imbinarize function to convert the grayscale image
to a binary image.
T = adaptthresh (I, sensitivity) computes a locally adaptive threshold with sensitivity
factor specified by sensitivity. sensitivity is a scalar in the range [0,1] that indicates
sensitivity towards thresholding more pixels as foreground.
T = adaptthresh (___, Name, Value) computes a locally adaptive threshold using name-
value pairs to control aspects of the thresholding.
Example-

MATLAB syntax
I = imread('C:\Users\biswajit\OneDrive\Desktop\ball.jpg');
%Use adaptthresh to determine threshold to use in binarization operation.
T = adaptthresh (I, 0.4);
% Convert image to binary image, specifying the threshold value.
BW = imbinarize (I, T);
%Display the original image with the binary version, side-by-side.
figure
imshowpair (I, BW, 'montage');

Elapsed time is 1.013638 seconds.

Fig. 4.9 Adaptive thresholding

20
4.3 Filtering
Filtering is a technique for modifying or enhancing an image. For example, you can filter
an image to emphasize certain features or remove other features. Image processing
operations implemented with filtering include smoothing, sharpening, and edge
enhancement.
4.3.1 Filter grayscale and TrueColor (RGB) Images using imfilter function
This example shows how to filter a 2-D grayscale image with a 5-by-5 filter containing
equal weights (often called an averaging filter) using imfilter. The example also shows
how to filter a TrueColor (RGB) image with the same filter. A TrueColor image is a 3-D
array of size m-by-n-by-3, where the last dimension represents the three-color channels.
Filtering a TrueColor image with a 2-D filter is equivalent to filtering each plane of the
image individually with the same 2-D filter.
Several MATLAB functions perform 2-D and multidimensional filtering that can be
compared to imfilter. The function filter2 performs two-dimensional
correlation, conv2 performs two-dimensional convolution, and convn performs multi-
dimensional convolution. However, each of these filtering functions always converts the
input to double, and the output is always double. Also, these MATLAB filtering
functions always assume the input is zero-padded, and they do not support other padding
options. In contrast, imfilter does not convert input images to double.
The imfilter function also offers a flexible set of boundary padding options.
4.3.2 Filter 2-D Grayscale Image with an Averaging Filter

MATLAB syntax
: %Read a grayscale image into the workspace.
I = imread('C:\Users\biswajit\OneDrive\Desktop\rgb2gray.PNG');
%Display the original image.
figure
imshow(I)
title ("Original Image");

Elapsed time is 1.002556 seconds.

Fig. 4.10 Import original image

21
MATLAB syntax
%Create a normalized, 5-by-5, averaging filter.
h = ones (5,5)/25;
%Apply the averaging filter to the grayscale image using
imfilter.
I2 = imfilter (I, h);
%Display the filtered image.
figure
imshow(I2)
title ("Filtered Image");

Elapsed time is 1.010158 seconds.

Fig. 4.11 Averaging Filter image

4.3.2 Filter Images Using Predefined Filter


This example shows how to create a predefined Laplacian of Gaussian (Log) filter using
the special function and apply the filter to an image using the imfilter function. A Log
filter highlights regions with rapidly varying intensities and reduces the impact of
variations caused by noise. The fspecial function produces several additional types of
predefined filters in the form of correlation kernels.

MATLAB syntax
% Read and display the image.
I = imread('C:\Users\biswajit\OneDrive\Desktop\ball.PNG');
imshow(I);

Elapsed time is 1.000462 seconds.

22
MATLAB syntax
%Create a 5-by-5 LOG filter with a standard deviation of
0.4 using fspecial.
h = ones (5,5)/25;

Fig. 4.12 7*7 double

%Apply the filter to the image using imfilter.


I2 = imfilter (I, h);
%Display the filtered image.
imshow(I2);
Elapsed time is 1.012495 seconds.

Fig. 4.13 Gaussian Filter image


23
4.3.4 Imfilter Boundary Padding Options
When computing an output pixel at the boundary of an image, a portion of the
convolution or correlation kernel is usually off the edge of the image, as illustrated in the
following figure.
4.3.4.1 When the Values of the Kernel Fall Outside the Image

Fig. 4.14 Kernel outside the pixel

The imfilter function normally fills in these off-the-edge image pixels by assuming that


they are 0. This is called zero padding and is illustrated in the following figure.

4.3.4.2 Zero Padding of Outside Pixels

Fig. 4.15 Zero padding outside pixel


pixel

24
When you filter an image, zero padding can result in a dark band around the edge of the
image, as shown in this example.
MATLAB syntax
I = imread('C:\Users\biswajit\OneDrive\Desktop\
imfilter@.PNG');
h = ones (5,5) / 25;
I2 = imfilter (I, h);
imshow(I), title ('Original Image');
figure, imshow(I2), title ('Filtered Image with Black Border');

Elapsed time is 1.012495 seconds.

Fig. 4.16 Filtered image with black border

4.3.4.2 Replicated Boundary pixels


To eliminate the zero-padding artifacts around the edge of the image, imfilter offers an
alternative boundary padding method called border replication. In border replication, the
value of any pixel outside the image is determined by replicating the value from the
nearest border pixel. This is illustrated in the following figure.

Fig. 4.17 Center of Kernel

25
To filter using border replication, pass the additional optional argument ‘replicate to
imfilter’.

MATLAB syntax
I3 = imfilter (I, h, ‘replicate');
figure, imshow(I3);
title ('Filtered Image with Border Replication');

Elapsed time is 1.004640 seconds.

Fig. 4.18 Border replication

26
4.4 Noise Removal
Digital images are prone to various types of noise. Noise is the result of errors in the
image acquisition process that result in pixel values that do not reflect the true intensities
of the real scene. There are several ways that noise can be introduced into an image,
depending on how the image is created. For example:
 If the image is scanned from a photograph made on film, the film grain is a
source of the noise. Noise can also be the result of damage to the film, or be
introduced by the scanner itself.
 If the image is acquired directly in a digital format, the mechanism for
gathering the data (such as a CCD detector) can introduce noise.
 Electronic transmission of image data can introduce noise.

To simulate the effects of some of the problems listed above, the toolbox provides
the imnoise function, which you can use to add various types of noise to an image. The
examples in this section use this function.
4.4.1 Remove Noise by Linear Filtering
You can use linear filtering to remove certain types of noise. Certain filters, such as
averaging or Gaussian filters, are appropriate for this purpose. For example, an averaging
filter is useful for removing grain noise from a photograph. Because each pixel gets set to
the average of the pixels in its neighborhood, local variations caused by grain are
reduced.

4.4.2 Remove Noise Using an Averaging Filter and a Median Filter


This example shows how to remove salt and pepper noise from an image using an
averaging filter and a median filter to allow a comparison of the results. These two types
of filtering both sets the value of the output pixel to the average of the pixel values in the
neighborhood around the corresponding input pixel. However, with median filtering, the
value of an output pixel is determined by the median of the neighborhood pixels, rather
than the mean. The median is much less sensitive than the mean to extreme values (called
outliers). Median filtering is, therefore, better able to remove these outliers without
reducing the sharpness of the image.
Note: Median filtering is a specific case of order-statistic filtering, also known as rank
filtering. For information about order-statistic filtering, see the reference page for
the ordfilt2 function.

MATLAB syntax
%Read image into the workspace and display it.
I = imread('C:\Users\biswajit\OneDrive\Desktop\border
replication@.PNG');
figure
imshow(I);

27
Elapsed time is 1.007035 seconds.

Fig. 4.19 Import Original Image

For this example, add salt and pepper noise to the image. This type of noise consists of
random pixels being set to black or white (the extremes of the data range).

MATLAB syntax
J = imnoise (I, ‘salt & pepper',0.02);
figure
imshow(J);
title ("add salt & pepper noise");

Elapsed time is 1.004208 seconds.

Fig. 4.20 Add salt & pepper noise

28
Filter the noisy image, J, with an averaging filter and display the results. The example
uses a 3-by-3 neighborhood.

MATLAB syntax
Kaverage =
filter2(fspecial('average',3), J)/255;
figure
imshow (Kaverage);

Now use a median filter to filter the noisy image, J. The example also uses a 3-by-3
neighborhood. Display the two filtered images side-by-side for comparison. Notice
that medfilt2 does a better job of removing noise, with less blurring of the edges of the
coins.

MATLAB syntax
Kmedian = medfilt2(J);
imshowpair (Kaverage, Kmedian, ‘montage');

4.4.3 Remove Noise by Adaptive Filtering


This example shows how to use the wiener2 function to apply a Wiener filter (a type of
linear filter) to an image adaptively. The Wiener filter tailors itself to the local image
variance. Where the variance is large, wiener2 performs little smoothing. Where the
variance is small, wiener2 performs more smoothing.
This approach often produces better results than linear filtering. The adaptive filter is
more selective than a comparable linear filter, preserving edges and other high-frequency
parts of an image. In addition, there are no design tasks; the wiener2 function handles all
preliminary computations and implements the filter for an input image. wiener2,
however, does require more computation time than linear filtering.
wiener2 works best when the noise is constant-power ("white") additive noise, such as
Gaussian noise. The example below applies wiener2 to an image of Saturn with added
Gaussian noise.

MATLAB syntax

%Remove Noise by Adaptive Filtering.


%Read the image into the workspace.
RGB = imread('C:\Users\biswajit\OneDrive\Desktop\2.add salt & papper noise.PNG');
%Convert the image from TrueColor to grayscale.
I = rgb2gray (RGB);
%Add Gaussian noise to the image.
J = imnoise(I,'gaussian',0,0.025);
%Display the noisy image. Because the image is quite large, display only a portion of the image.
imshow (J (10:300,1:500));
title ('Portion of the Image with Added Gaussian Noise');

29
Elapsed time is 1.005032 seconds.

Fig. 4.21 Added Gaussian Noise

MATLAB syntax

%Remove the noise using the wiener2 function.


K = wiener2(J, [5 5]);
%Display the processed image. Because the image is quite large,
display only a portion of the image.
figure
imshow (K (12:350,1:550));
title ('Portion of the Image with Noise Removed by Wiener Filter');

30
Elapsed time is 1.009900 seconds.

Fig. 4.22 Noise removed by Winner


filter

31
4.5 Region filling
Region filling is a process that fills a region of interest by interpolating the pixel
values from the borders of the region. This process can be used to make objects in an
image seem to disappear as they are replaced with values that blend in with the
background area.

4.5.1 Fill Region of Interest in an Image


This example shows how to use region fill to fill a region of interest (ROI) in an image.
The example uses the roipoly function to define the region of interest interactively with
the mouse. region fill smoothly interpolates inward into the region from the pixel values
on the boundary of the polygon. You can use this function for image editing, including
the removal of extraneous details or artifacts. The filling process replaces values in the
region with values that blend with the background.

MATLAB syntax

%Read an image into the MATLAB workspace and display it.


I = imread('C:\Users\biswajit\OneDrive\Desktop\wiener filter.PNG');
imshow(I);

Create a mask image to specify the region of interest (ROI) you want to fill. Use
the roipoly function to specify the region interactively. Call roipoly and move the pointer
over the image. The pointer shape changes to cross hairs. Define the ROI by clicking the
mouse to specify the vertices of a polygon. You can use the mouse to adjust the size and
position of the ROI.

MATLAB syntax

mask = roipoly(I);

32
Fig. 4.23 Regionfilling

Double-click to finish defining the region. roipoly creates a binary image with the region
filled with 1-valued pixels.

MATLAB syntax
% Display the mask image.
figure
imshow(mask);

Fig. 4.24 Display the mask image

33
Fill the region, using region fill, specifying the image to be filled and the mask image as
inputs. Display the result. 

MATLAB syntax

J = regionfill (I, mask);


figure
imshow(J);

34
4.6 Diameter Measure
The diameter is now displayed in the Command Window to be approx. 170 pixels
across. This was verified the below Figure by using the imdistline function. As you can
see in the figure, the value calculated by the code was very close to the manual
measurement the below Figure.

MATLAB syntax
%Diameter measure
a=imread('C:\Users\biswajit\OneDrive\Desktop\CUTTING
REGION@.jpg');
imshow(a);
d=imdistline;

Fig. 4.25 Diameter measure

Tic
Pause (1)
Toc
Elapsed time is 1.023315 seconds.

35
CHAPTER 5

RESULT & DISCUSSION

In this paper, we have been found to calculate the diameter of an object with the help of
MATLAB. Before going to measure the diameter of an object we have applied a few
stages. At first, we have taken an RGB image and imported it into MATLAB, the figure
shown in 4.1. Then we have converted the image into a grayscale image. After that, we
have been applied segmentation, figure 4.8 & 4.9 has the output of thresholding. Here we
have applied Otsu and Adaptive thresholding method. After getting the last output from
this method, we have done the filtered method. In this case, we have applied a grayscale
image with an averaging filter(fig-4.10), then we apply predefined Laplacian of Gaussian
filter using the fspecial function and apply the filter to an image Using
the imfilter function, fig no is 4.12. In the digital image, there have been various types of
noise. That's why we have removed noise by linear filtering and also apply averaging
filter and median filter method. Adaptive filtering method also helps to remove noise
(fig-4.18). Here add and salt pepper noise removed by wiener filter method(fig-4.19).
After completing region filling(fig-20), we have been able to measure the diameter of an
object (fig-22). We have also mentioned elapsed time of all applied algorithms.

36
CONCLUSION

At the end of the day finally, we have gotten our output and we successfully measure the
diameter of an object. At the very begging when we had been taken this project, we don’t
know how to measure an object’s diameter. But now after lots of searching we have
found lots of methods like segmentation, filtering, noise removal, and region filling
which help us to measure the diameter of an unknown object.

37
REFERENCES

1. L. Yang, "Medical Application of Digital Image Processing Based on MATLAB,"


International Journal of Innovative Science, Engineering & Technology, vol. 3, no.
3, pp. 148-155, 2016.

2. T. S. Mohammed and A. S. Ibrahim, "Simulation and Analysis for Activities in


Image Recognition Using MATLAB," Computer science and information
technology, vol. 3, no. 1, pp. 22-30, 2015, DOI: 10.13189/csit.2015.030104.

3. R. Buksh, S. Routh, P. Mitra, S. Banik, A. Mallik, and S. Gupta, "MATLAB based


Image Editing and Color Detection," International Journal of Scientific and
Research Publications, vol. 4, no. 1, pp. 1-6, 2014.

4. E. Leaving, A. Antony, and G. Singh, "On Teaching Digital Image Processing with
MATLAB," American Journal of signal processing, vol. 4, no. 1, pp. 7-15, 2014,
DOI: 10.5923/j.ajsp.20140401.02.

5. S. K. Dewangan, "Importance & Applications of Digital Image Processing,"


International Journal of Computer Science & Engineering Technology (IJCSET),
vol. 7, no. 7, pp. 316-320, 2016.

6. M. S. Alkoffash, M. J. Bawaneh, H. Muaidi, S. Alqrainy, and M. Alzghool,


"Survey of Digital Image Processing Techniques in Character Recognition,"
International Journal of Computer Science and Network Security, vol. 14, no. 3,
pp. 65-71, 2014.

7. P. S. Duth and M. M. Deepa, "Color Detection in RGB-modeled Images using


MATLAB," International Journal of Engineering & Technology, vol. 7, no. 7, pp.
29-33, May 2018, DOI: 10.14419/ijet.v7i2.31.13391.

8. V. Goel, S. Singhal, T. Jain, and S. Kole, "Specific color detection in images using
RGB modeling in MATLAB, " International Journal of Computer Applications,
vol. 161, no. 8, pp. 38-42, March 2017, DOI: 10.5120/ijca2017913254.

9. S. Kaur and M. Sandhu, "Analysis of Various Image Segmentation Techniques


Using MATLAB," International Journal of Advanced Research in Computer
Science and Software Engineering Research Paper, vol. 6, no. 4, pp. 90-94, 2016.

10. D. Sahu and C. Dewangan, "Identification and Classification of Mango Fruits


Using Image Processing," IJSRCSEIT: International Journal of Scientific

38
Research in Computer Science, Engineering and Information Technology, vol. 2,
no. 2, pp. 203-210, 2016.

11. A. Mishra, P. Asthana, and P. Khanna, "The Quality Identification of Fruits in


Image Processing using MATLAB, "Department International Journal of
Research in Engineering and Technology, vol. 3, no. 10, pp. 92-95, 2014, DOI:
10.15623/ijret.2014.0322019.

12. G. Sharma, "Performance analysis of image processing algorithms using


Matlab for biomedical applications," International Journal of Engineering and
Manufacturing, vol. 7, no. 3, pp. 8-19, May 2017, DOI: 10.5815/ijem.2017.03.02.

13. A. Abdullah, W. Palash, A. Rahman, K. Islam, and A. Alim, "Digital image


processing analysis using MATLAB", American Journal of Engineering Research
(AJER), vol. 5, no. 12, pp. 2320-0936, 2016.

14. A. Saxena, A. Samal, and D. Ray, "Vehicle Detection by Image Processing using
MATLAB: A Colour based Approach," International Journal of Industrial
Electronics and Electrical Engineering, vol. 6, no. 3, pp. 65-67, 2018.

15. K. Senthilkumar, V. Ellappan, and A. R. Arun, "Traffic analysis and control using
image processing," in IOP conference series: materials science and engineering, vol.
263, no. 4, p. 042047, 2017, DOI: 10.1088/1757- 899X/263/4/042047.

16. A. Frank, Y. S. K. Al Aamir, and A. Zayegh, "IoT based Smart Traffic density
Control using Image Processing," 2019 4th MEC International Conference on Big
Data and Smart City (ICBDSC), 2019, pp. 1-4, DOI:
10.1109/ICBDSC.2019.8645568.

17. A. Utikar and V. Yerande, "Relative Study of Image Processing Filter with
MATLAB,
SCILAB, RASPBERRY Pi," International Journal of Innovative Research in
Computer and Communication Engineering, vol. 4, no. 11, pp. 20181-20192, 2016.

18. A. Devaraj, K. Rathan, S. Jaahnavi, and K. Indira, "Identification of Plant Disease


using Image Processing Technique," 2019 International Conference on
Communication and Signal Processing (ICCSP), 2019, pp. 0749- 0753, DOI:
10.1109/ICCSP.2019.8698056.

19. M. K. Singh and S. Chetia, "Detection and classification of plant leaf diseases in
image processing using MATLAB, " International journal of life sciences
Research, vol. no. 4, pp. 120-124, 2017.

39
20. G. Kshirsagar and A. N. Thakre, "Plant disease detection in image processing using
MATLAB," International Journal on Recent and Innovation Trends in Computing
and Communication, vol. 6, no. 4, pp. 113-116, 2018.

21. V. Roy, G. Mishra, R. Mannadiar, and S. Patil, "Fake Currency Detection Using
Image Processing," International Journal of Computer Science and Mobile
Computing, vol. 8, no. 4, 2019.

22. A. S and D. M. Sasikumar, "Fake Currency Detection," 2019 International


Conference on Recent Advances in Energy-efficient Computing and
Communication (ICRAECC), 2019, pp. 1-4, DOI:
10.1109/ICRAECC43874.2019.8994968

23. R. Koshy and V. V. Nair, "Black Box for Accident Analysis Using MATLAB-
Image Processing," International Journal of Computer Applications Technology
and Research, vol. 6, no. 5, pp. 229-233, 2017, DOI: 10.7753/IJCATR0605.1003.

24. M. I. Ashqer and M. Bikdash, "Parking Lot Space Detection Based on Image
Processing," 2019 SoutheastCon, 2019, pp. 1-6, DOI: 10.1109/ SoutheastCon
42311.2019.9020584.

25. S. H. I. Putera and Z. Ibrahim, "Printed circuit board defect detection using
mathematical morphology and MATLAB image processing tools," 2010 2nd
International Conference on Education Technology and Computer, 2010, pp. V5-
359-V5-363, DOI: 10.1109/ICETC.2010.5530052.

26. D. Goswami, "Edge Detection Technology using Image processing in MATLAB,"


International Journal on Recent and Innovation Trends in Computing and
Communication, vol. 3, no. 5, pp. 3466-3471, 2015.
27. H. Kakui, M. Yamazaki, N. B. Hamaya, and K. K. Shimizu, "Pollen grain counting
using a cell counter," in Pollen and Pollen Tube Biology, Humana, New York, NY,
vol. 2160, pp. 1-11, 2020, DOI: 10.1007/978-1-0716-0672-8_1.

28. Y. C. Samarawickrama and C. D. Wickramasinghe, "MATLAB based automated


surface defect detection system for ceramic tiles using image processing," 2017 6th
National Conference on Technology and Management (NCTM), 2017, pp. 34-39,
DOI: 10.1109/NCTM.2017.7872824.

29. A. Bansal, R. Bajpai, and J. P. Saini, "Simulation of Image Enhancement


Techniques Using MATLAB," First Asia International Conference on Modelling
& Simulation (AMS'07), 2007, pp. 296-301, DOI: 10.1109/AMS.2007.92.

30. G. A. Kumar and A. Kusagur, "Evaluation of image denoising techniques a


performance perspective," 2016 International Conference on Signal Processing,

40
Communication, Power and Embedded System (SCOPES), 2016, pp. 1836-1839,
DOI: 10.1109/SCOPES.2016.7955762.

31. P. Srujana, J. Priyanka, V. Y. S. S. S. Patnaikuni, and N. Vejendla, "Edge


Detection with different Parameters in Digital Image Processing using GUI," 2021
5th International Conference on Computing Methodologies and Communication
(ICCMC), 2021, pp. 795-802, DOI: 10.1109/ICCMC51019.2021.9418327.

32. T. Sahoo and S. Pine, "Design and simulation of various edge detection techniques
using MATLAB Simulink," 2016 International Conference on Signal Processing,
Communication, Power and Embedded System (SCOPES), 2016, pp. 1224-1228,
DOI: 10.1109/SCOPES.2016.7955636.

33. M. W. Khan, "A survey: Image segmentation techniques," International Journal of


Future Computer and Communication, vol. 3, no. 2, p. 89, 2014.

34. A. Abdulrahman and S. Varol, "A Review of Image Segmentation Using


MATLAB Environment," 2020 8th International Symposium on Digital Forensics
and Security (ISDFS), 2020, pp. 1-5, DOI: 10.1109/ISDFS49300.2020.9116191.

41

You might also like