Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A PROJECT REPORT
Submitted by
S.PONMALAR 211015106060
G.RAMYA 211015106067
Of
BACHELOR OF ENGINEERING
IN
MARCH 2019
ANNA UNIVERSITY: CHENNAI 600 025
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
We are deeply indebted and extremely grateful to our Head of the Department
Mr.M.AYYADURAI.,M.E.,(Ph.D.), who permitted us to work on this valuable project
and his invaluable assistance in the course of our graduation amid his hustle.
We would like to express our sincere honor and thanks to our Project Supervisor
Mrs.S.AGNES SHIFANI.,M.E.,(Ph.D)., for her constant technical support and
stupendous encouragement, which enabled us to complete our project successfully.
ABSTRACT IV
LIST OF TABLES X
LIST OF FIGURES XI
LIST OF ABBREVIATIONS XIII
1. INTRODUCTION
1.1GENERAL 1
1.1.1THE IMAGE PROCESSING 1
SYSTEM
1.1.2 IMAGE PROCESSING 4
TECHNIQUE
1.2 OBJECTIVE OF IMAGE PROCESSING 6
1.3APPLICATION OF DIGITAL IMAGE 6
PROCESSING
2. LITERATURE REVIEW
2.1 SCOPE OF LITERATURE REVIEW 8
2.2 REVIEW OF PAPERS 8
3. EXISTING SYSTEM
3.1 INTRODUCTION 12
3.2 SYSTEM OVERVIEW 13
5. SYSTEM DESIGN
5.3.1GRAY-VALUE MORPHOLOGICAL 28
PROCESSING
5.3.2 MORPHOLOGICAL FILTERING 29
ALGORITHM
(KERNELS)
6. HARDWARE REQUIREMENTS
6.1 MAX232 IC 38
IC
6.1.2 TYPES OF MAX-232 IC 39
COMMUNICATION
MAPPING
UNO BOARD
6.3.5 PROGRAMMING 47
6.3.6APPLICATIONS OF ARDUINO 47
UNO BOARD
6.4 LCD 47
SOFTWARE REQUIREMENTS
7.
7.1 GENERAL 51
LANGUAGES
7.2.2DEVELOPING ALGORITHMS 56
AND APPLICATIONS
DATA
COMPUTATION
8. RESULT
8.1 GENERAL 59
8.2 SNAPSHOTS 59
9. CONCLUSION 67
LIST OF FIGURES
11
FIGURE NO NAME OF THE FIGURE PAGE NO
PURPOSE 21
11
5.7 DECISION FROM ANN 36
6.1 MAX-232 IC 39
LIST OF ABBREVIATIONS
11
AML - Acute myeloid leukaemia
ATRA - All-Trans-Retinoic-Acid
CHAPTER I
11
INTRODUCTION
1.1 GENERAL
The term digital image refers to processing of a two dimensional picture by
a digital computer. In a broader context, it implies digital processing of any two
dimensional data. A digital image is an array of real or complex numbers
represented by a finite number of bits. An image given in the form of a
transparency, slide, photograph or an X-ray is first digitized and stored as a
matrix of binary digits in computer memory. This digitized image can then be
processed and/or displayed on a high-resolution television monitor. For display,
the image is stored in a rapid-access buffer memory, which refreshes the
monitor at a rate of 25 frames per second to produce a visually continuous
display.
Hard Copy
Display Device
DIGITIZER:
11
A digitizer converts an image into a numerical representation suitable for
input into a digital computer. Some common digitizers are
1. Microdensitometer
2. Flying spot scanner
3. Image dissector
4. Videocon camera
5. Photosensitive solid- state arrays.
IMAGE PROCESSOR:
Knowledge Result
Recognition
Preprocessing
Preprocessing
Knowledge Recognition&&
Base interpretation
Base interpretation
DIGITAL COMPUTER:
MASS STORAGE:
The secondary storage devices normally used are floppy disks, CD ROMs
etc.
The hard copy device is used to produce a permanent copy of the image
and for the storage of the software involved.
OPERATOR CONSOLE:
Image Enhancement
Image Restoration
Image
processin
g Image Analysis
Image Compression
Image Synthesis
A) IMAGE ENHANCEMENT:
Image enhancement operations improve the qualities of an image like
improving the image’s contrast and brightness characteristics, reducing its noise
11
content, or sharpen the details. This just enhances the image and reveals the
same information in more understandable image. It does not add any
information to it.
B) IMAGE RESTORATION:
Image restoration like enhancement improves the qualities of image but
all the operations are mainly based on known, measured, or degradations of the
original image. Image restorations are used to restore images with problems
such as geometric distortion, improper focus, repetitive noise, and camera
motion. It is used to correct images for known degradations.
C) IMAGE ANALYSIS:
Image analysis operations produce numerical or graphical information
based on characteristics of the original image. They break into objects and then
classify them. They depend on the image statistics. Common operations are
extraction and description of scene and image features, automated
measurements, and object classification. Image analyze are mainly used in
machine vision applications.
D) IMAGE COMPRESSION:
Image compression and decompression reduce the data content necessary
to describe the image. Most of the images contain lot of redundant information,
compression removes all the redundancies. Because of the compression the size
is reduced, so efficiently stored or transported. The compressed image is
decompressed when displayed. Lossless compression preserves the exact data in
the original image, but Loss compression does not represent the original image
but provide excellent compression.
E) IMAGE SYNTHESIS:
11
Image synthesis operations create images from other images or non-image
data. Image synthesis operations generally create images that are either
physically impossible or impractical to acquire.
MEDICAL APPLICATIONS:
11
COMMUNICATION:
Radar and sonar images are used for detection and recognition of various
types of targets or in guidance and manoeuvring of aircraft or missile systems.
DOCUMENT PROCESSING:
DEFENSE/INTELLIGENCE:
11
CHAPTER 2
LITERATURE REVIEW
11
blood image using HSV (Hue, Saturation, Value) saturation component
with blob analysis for segmentation and incorporate CNN (Convolutional
Neural Network) for counting which in turn generates more accurate
results
11
In medical science, cancer cell detection can be done through the
microscopic images of the collected blood samples. Medical world states
that Leukaemia is a type of blood cancer which occurs on the White
Blood Cell (WBC) of the bone marrow. In Image processing, various
techniques can be used in the detecting the cells that are affected by
cancer. This paper deals with the comparison of different algorithms that
are used for leukaemia detection from the collected sample images. This
paper consists of the introduction of various cancerous cells in Section 1,
the literature review in Section 2, the various modules that are used for
the detection .
4. “Unsupervised Color Image Segmentation of Red Blood Cell for
Thalassemia Disease”, presented by NurulZhafikha, and Noor
Rashid, at 2015IEEE 2nd International Conference on Biomedical
Engineering (ICoBE)
Current diagnosis of thalassemia disease based on peripheral blood
images has given significant contribution to the field of hematology. Due
to the requirement of prompt and accurate diagnosis of the disease, this
study has proposed an unsupervised color image segmentation of
thalassemia disease using moving k-means (MK) clustering algorithm. It
has been applied on blood sample images of both types of thalassemia
including normal (healthy) blood sample. The proposed segmentation
method provides a basic step of red blood cell detection in thin blood
smears. With the aim of obtaining the fully segmented abnormal and
normal red blood cells, the blood images will firstly enhanced by using
the global contrast technique. Then, the MK clustering algorithm has
been applied on each of the HSI (hue, saturation, intensity) color
components to segment the blood cells from the background. After that,
the segmented images have been processed using median filter for
smoothing the image. By comparing the segmentation accuracy of the
11
segmented blood cells, the best one will be processed using seeded region
growing area extraction algorithms based on saturation color component
for removing any unwanted regions from the image and to obtain the
segmented red blood cells.
5. “Molecular-Level Dengue Fever Diagnostics via a Combination of
RT-LAMP and Paper-based Devices”, by Shih-Jie Lo, Shih-Chun
Yang, and Da-Jeng Yao,2012 IEEE Nanotechnology Material and
Devices Conference.
This paper describes the development of an inexpensive, but robust
and easy-to-use point-of-care diagnostic device that can be used for the
detection of dengue fever at the molecular level (i.e., the detection of
dengue virus via using a piece of paper). To date, the clinical diagnosis of
dengue fever mainly relies on ELISA-based examinations for a specific
antigen. However, the protein-based diagnostics is at the relatively late
stage, and it is needed to develop a simple and low-cost diagnostic device
for the detection of dengue fever at the early stage after the infection.
Here, we have developed a procedure for monitoring dengue virus
serotype 2 RNA (in the buffer system), including: i) amplifying the
nucleic acids via RT-LAMP (reverse transcription loop-mediated
isothermal amplification), and ii) examining the amplified products via a
colorimetric assay in paper. We have demonstrated the ability to amplify
dengue virus via RT-LAMP with the virus concentration of 60 PFU/mL;
the current results indicated that this paper-based diagnostic device was
capable of detecting the RT-LAMP products in the buffer system with the
concentration of 300 ng/mL.
11
CHAPTER 3
EXISTING SYSTEM
3.1 INTRODUCTION
11
considered because it is invariant to scaling. Finally, in order to make the
system as an expert system through improving the learning efficiency by
allowing the system to learn from the misdiagnosed input tests in which the
experts reclassify the disease with the new label.
The main aim of the system is to early discovery of white blood cells
cancer; reduce the misdiagnosis cases in addition to improve the system
learning methodology. Based on the doctor’s selection, one of two approaches
is implemented. Each approach is applied on one of the two diseases category
by computing different features. Finally, Random Forest classifier is applied for
final decision. Moreover, allowing the experts only to have the final tuning on
the result obtained from the system.
Input image
Random forest
Final output
11
3.4 WORKING PROCESS:
1. Memory intensive.
2. Sensitive to initialization, outliers.
3. It is not suitable for very noisy and edgeless images.
4. It is not suitable for images whose boundaries are very smooth.
5. No guarantees of object coherency-might have holes, extraneous pixels.
But the color images it is a difficult task to work. While the dispensable
image in low light.
11
CHAPTER 4
PROPOSED SYSTEM
4.1 INTRODUCTION:
11
4.2 SYSTEM OVERVIEW:
Leukemia is a cancer of the blood and bone marrow, the spongy tissue
confidential the bones where blood cells are made.The white blood cells
diseases are classified as leukaemia with its sub-types (AML, ALL) and
Myeloma. The signs and symptoms of leukemia are non-specific in nature and
also they are comparable to the symptoms of other mutual disorders. Manual
microscopic inspection of stained blood smear or bone marrow aspirate is the
only way to an effective diagnosis of leukemia. But this method is time
consuming and less accurate. In this system, a technique for automatic detection
and classification of leukemia and its sub-types in blood smear is presented. K-
means algorithm is used for segmentation. KNN, NN, and SVM are used for
classification. GLCM is used for optimizing the spectral features. The local
binary pattern is used for texture description. Blood microscope images were
tested and the performance of the classifier was analyzed.
11
4.4 MODULES:
PREPROCESSING
SEGMENTATION
FEATURE EXTRACTION
CANCER TYPE CLASSIFICATION
4.5 MODULE DESCRIPTION
4.5.1 PREPROCESSING
4.5.2SEGMENTATION
1. Dataassignment step:
Each centroid defines one of the clusters. In this step, each data point
is assigned to its nearest centroid, based on the squared Euclidean distance.
11
More formally, if ci is the collection of centroids in set C, then each data
point x is assigned to a cluster based on
argmindist(ci, x)2
c i∈ c
In this step, the centroids are recomputed. This is done by taking the
mean of all data points assigned to that centroid's cluster. The algorithm
iterates between steps one and two until a stopping criteria is met (i.e., no
data points change clusters, the sum of the distances is minimized, or some
maximum number of iterations is reached).
1
c i=
¿ S∨¿ ∑ x ¿ i
xi ∈s i
3. Choosing K
The algorithm described above finds the clusters and data set labels
for a particular pre-chosen K. To find the number of clusters in the data, the
user needs to run the K-means clustering algorithm for a range of K values
and compare the results. In general, there is no method for determining exact
value of K, but an accurate estimate can be obtained using the following
techniques.
11
A number of other techniques exist for validating K, including cross-
validation, information criteria, the information theoretic jump method, the
silhouette method, and the G-means algorithm. In addition, monitoring the
distribution of data points across groups provides insight into how the
algorithm is splitting the data for each K.
Geometrical Features
‘Centroid' -Note that the first element of Centroid is the horizontal coordinate
(or x-coordinate) of the centre of mass, and the second element is the vertical
coordinate (or y-coordinate).
'Eccentricity' -Scalar that specifies the eccentricity of the ellipse that has the
same second-moments as the region. The eccentricity is the ratio of the distance
between the foci of the ellipse and its major axis length. The value is between 0
and 1.
'Equiv Diameter' -Scalar that specifies the diameter of a circle with the same
area as the region. Computed as sqrt(4*Area/pi).
11
'Extent' — Scalar that specifies the ratio of pixels in the region to pixels in the
total bounding box.
1. 'Major Axis Length' — Scalar specifying the length (in pixels) of the major axis
of the ellipse that has the same normalized second central moments as the
region.
2. 'Minor Axis Length' — Scalar; the length (in pixels) of the minor axis of the
ellipse that has the same normalized second central moments as the region.
3. 'Orientation' — Scalar; the angle (in degrees ranging from -90 to 90 degrees)
between the x-axis and the major axis of the ellipse that has the same second-
moments as the region.
4. 'Perimeter' — Scalar; the distance around the boundary of the region. Region
props compute the perimeter by calculating the distance between each
adjoining pair of pixels around the border of the region.
11
categorizes novel cases built on an evaluation quantity (e.g., distance
functions).KNN procedure is identical simple. It works built on a minimum
distance from the interrogation instance to the training samples to regulate the
K-nearest neighbours. The information for KNN procedure contains numerous
attribute which will be used to categorize. The information of KNN can be any
dimension scale from insignificant, to measurable scale.
11
dimensional feature spaces. When data is unlabelled, supervised learning is not
possible, and an unsupervised learning approach is required, which attempts to
find natural clustering of the data to groups, and then map new data to these
formed groups. The support-vector clustering algorithm, created
by havasiegemann and valdimirvapnik, applies the statistics of support vectors,
developed in the support vector machines algorithm, to categorize unlabeled
data, and is one of the most widely used clustering algorithms in industrial
applications.
11
unison to solve specific problems. ANNs, like people, learn by example. An
ANN is configured for a specific application, such as pattern recognition or data
classification, through a learning process. Learning in biological systems
involves adjustments to the synaptic connections that exist between the neurons.
This is true of ANNs as well.
4.6 Advantages of Proposed System:
11
CHAPTER 5
SYSTEM DESIGN
The main purpose of the RGB colour model is for the sensing,
representation, and display of images in electronic systems, such as televisions
and computers, though it has also been used in conventional photography.
Before the electronic age, the RGB colour model already had a solid theory
behind it, based in human perception of colours. RGB is a device-
dependent colour model: different devices detect or reproduce a given RGB
value differently, since the colour elements (such as phosphors or dyes) and
their response to the individual R, G, and B levels vary from manufacturer to
manufacturer, or even in the same device over time. Thus an RGB value does
not define the same colour across devices without some kind of colour
management. Typical RGB input devices are colour TV and video
cameras, image scanners, and digital cameras. Typical RGB output devices are
TV sets of various technologies (CRT, LCD, plasma, etc.) computer and mobile
phones and displays, video projectors, multicolour LED displays, and large
screens such as Jumbo tron. Colour printers, on the other hand, are not RGB
devices, but subtractive colour devices (typically CMYK colour model).
11
Fig 5.1 RGB colour image
5.2 GRAYSCALE:
Gray scale images are the often the results of measuring the intensity of
light at each pixel in a single band of the electromagnetic spectrum (e.g.
infrared, visible light, ultraviolet, etc.), and in such cases they are
monochromatic proper when only a given frequency is captured. But also they
can be synthesized from a full colour images; see the section about converting
to gray scale. Example of gray scale image is given below
11
FIG, 5.2 GRAY SCALE IMAGE
11
A={ α ∨ property ( α )=¿TRUE }
AC ={ α ∨α ∉ A }
11
Dilation:
Erosion:
Opening:
O G ( A , B)=max ¿ ¿
B
Closing:
C G ( A , B)=min ¿¿
B
11
5.3.3 MORPHOLOGICAL SMOOTHING
This algorithm is based on the observation that a gray-
level opening smoothes a gray-value image from above the brightness surface
given by the function a[m,n] and the gray-level closing smoothes from below.
We use a structuring element B based on equation
Morphsmooth ( A , B )=C o ( Oo ( A , B ) , B )
¿ min( max(max (min ( A ) )))
Let’s consider a setup with “n” training samples, where x i is the training
data point. The training data points are categorized into “c” classes. Using
KNN, we want to predict class for the new data point. So, the first step is to
calculate the distance (Euclidean) between the new data point and all the
training data points.
11
Next step is to arrange all the distances in non-decreasing order.
Assuming a positive value of “K” and filtering “K” least values from the sorted
list. Now, we have K top distances. Let k i denotes no. of points belonging to the
ith class among k points. If ki >kj ∀i ≠ j then put x in class i.Nearestneighbour is
a special case of k-nearest neighbour class. Where k value is 1 (k = 1). In this
case, new data point target class will be assigned to the 1st closest neighbour.
Start
Initialization, define
k
Compute the distance between input sample and the training
samples
Take K nearest
neighbours
11
Apply simple majority
End
FIG 5.5 KNN CLASSIFICATION
11
using the inner product of any two given observations, rather than the
observations themselves. The inner product between two vectors is the sum of
the multiplication of each pair of input values.
The equation for making a prediction for a new input using the dot
product between the input (x) and each support vector (xi) is calculated as
follows:
The kernel defines the similarity or a distance measure between new data
and the support vectors. The dot product is the similarity measure used for
linear SVM or a linear kernel because the distance is a linear combination of the
inputs.
Other kernels can be used that transform the input space into higher
dimensions such as a Polynomial Kernel and a Radial Kernel. This is called
the Kernel Trick.It is desirable to use more complex kernels as it allows lines to
separate the classes that are curved or even more complex. This in turn can lead
to more accurate classifiers.
11
Polynomial Kernel SVM
11
Face detection
Text and hypertext categorization
Classification of images
Bioinformatics Protein fold and remote homology detection
Generalized predictive control(GPC)
5.6 ARTIFICIAL NEURAL NETWORK
ANNs are capable of learning and they need to be trained. There are several
learning strategies
11
FIG 5.7 DECISION FROM ARTIFICIAL NEURAL NETWORK
Range of prepositions
5.6.1 ADVANTAGES:
11
ANNs have the ability to learn and model non-linear and complex
relationships.
ANNs can generalize — after learning from the initial inputs and their
relationships.
Unlike many other prediction techniques, ANN does not impose any
restrictions on the input variables.
5.6.2 APPLICATIONS:
CHAPTER 6
HARDWARE REQUIREMENTS
6.1 MAX232 IC
11
6.1.1 Pin Description of MAX-232 IC:
FIG 6.1MAX-232 IC
11
of the microcontroller. The external capacitor is added to the MAX232 with a
range of 1µF to 22µF.
There are two different types of MAX232 IC’s are MAX232N and the
other one is MAX232D. Where in the MAX232N “N” represents the PDIP
package style and it is used widely with low price. In the MAX232D “D”
represents the SOIC package this type of packages is used correctly by the
trained professionals.
There are different types of MAX232 interface which are shown below
with clear information and diagrams
The following diagram gives the information about the PC serial port
communication through the MAX232 interface. We can see the DB9 packages
to the desktops and some old laptops. From the DB9 package pins we can use
only two pins which are transmitter (Tx) and receiver (Rx)
11
FIG 6.2 PC SERIAL PORT COMMUNICATION THROUGH THE MAX232
INTERFACE
The diagram consists of two drivers once the driver is used for circuit
purpose and the other one is second drive it is used for the other purpose. There
are two pins, i.e. Pin 11 and pin 12 are obtained from the TTL data and these
two pins are attached to the Microcontroller.
6.2Applications of MAX-232 IC
Interface Transactions
Low power modes
Battery powered RS232 system
RS232 networks
Portable Computing
11
6.3 Arduino Uno
There are various types of Arduino boards in which many of them were
third-party compatible versions. The most official versions available are the
Arduino Uno R3 and the Arduino Nano V3. Both of these run a 16MHz Atmel
11
ATmega328P 8-bit microcontroller with 32KB of flash RAM 14 digital I/O and
six analogues I/O and the 32KB will not sound like as if running Windows.
Arduino projects can be stand-alone or they can communicate with software on
running on a computer. For e.g. Flash, Processing, and Max/MSP). The board is
clocked by a 16 MHz ceramic resonator and has a USB connection for power
and communication.
Microcontroller: Microchip ATmega328P
Operating Voltage: 5 Volts
Input Voltage: 7 to 20 Volts
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 6
DC Current per I/O Pin: 20 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 32 KB of which 0.5 KB used by bootloader
SRAM: 2 KB
EEPROM: 1 KB
Clock Speed: 16 MHz
Length: 68.6 mm
Width: 53.4 mm
Weight: 25 g
6.3.2 ATmega168/328-Arduino Pin Mapping
11
FIG 6.4ATMEGA 168/328-ARDUINO PIN MAPPING
LED: There is a built-in LED driven by digital pin 13. When the pin is
HIGH value, the LED is on, when the pin is LOW, it's off.
VIN: The input voltage to the Arduino/Genuino board when it's using an
external power source (as opposed to 5 volts from the USB connection or
other regulated power source). You can supply voltage through this pin,
or, if supplying voltage via the power jack, access it through this pin.
5V: This pin outputs a regulated 5V from the regulator on the board. The
board can be supplied with power either from the DC power jack (7 -
20V), the USB connector (5V), or the VIN pin of the board (7-20V).
Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can
damage the board.
3V3: A 3.3 volt supply generated by the on-board regulator. Maximum
current draw is 50 mA.
GND: Ground pins.
11
IOREF: This pin on the Arduino/Genuino board provides the voltage
reference with which the microcontroller operates. A properly configured
shield can read the IOREF pin voltage and select the appropriate power
source or enable voltage translators on the outputs to work with the 5V or
3.3V.
RESET: Typically used to add a reset button to shields which block the
one on the board.
Special Pin Functions:
Each of the 14 digital pins and 6 Analog pins on the Uno can be used as
an input or output, using pinMode(),digitalWrite(), and digitalRead() functions.
They operate at 5 volts. Each pin can provide or receive 20 mA as
recommended operating condition and has an internal pull-up resistor
(disconnected by default) of 20-50k ohm. A maximum of 40mA is the value
that must not be exceeded on any I/O pin to avoid permanent damage to the
microcontroller. The Uno has 6 analog inputs, labeled A0 through A5, each of
which provide 10 bits of resolution (i.e. 1024 different values). By default they
measure from ground to 5 volts, though is it possible to change the upper end of
their range using the AREF pin and the analogReference() function
Serial / UART: pins 0 (RX) and 1 (TX). Used to receive (RX) and transmit
(TX) TTL serial data. These pins are connected to the corresponding pins of the
ATmega8U2 USB-to-TTL Serial chip.
11
SPI (Serial Peripheral Interface): 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK).
These pins support SPI communication using the SPI library.
It is an easy USB interface. This allows interface with USB as this is like
a serial device.
The chip on the board plugs straight into your USB port and supports on
your computer as a virtual serial port. The benefit of this setup is that
serial communication is an extremely easy protocol which is time-tested
and USB makes connection with modern computers and makes it
comfortable.
It is easy-to-find the microcontroller brain which is the ATmega328 chip.
It has more number of hardware features like timers, external and internal
interrupts, PWM pins and multiple sleep modes.
It is an open source design and there is an advantage of being open source
is that it has a large community of people using and troubleshooting it.
This makes it easy to help in debugging projects.
It is a 16 MHz clock which is fast enough for most applications and does
not speeds up the microcontroller.
It is very convenient to manage power inside it and it had a feature of
built-in voltage regulation. This can also be powered directly off a USB
port without any external power. You can connect an external power
source of upto 12v and this regulates it to both 5v and 3.3v.
13 digital pins and 6 analog pins. This sort of pins allows you to connect
hardware to your Arduino Uno board externally. These pins are used as a
11
key for extending the computing capability of the Arduino Uno into the
real world. Simply plug your electronic devices and sensors into the
sockets that correspond to each of these pins and you are good to go.
It has a 32 KB of flash memory for storing your code.
An on-board LED is attached to digital pin 13 to make fast the debugging
of code and to make the debug process easy.
Finally, it has a button to reset the program on the chip.
Arduino uno microcontroller can sense the environment by receiving
input from a variety of sensors and can affect its surroundings by
controlling lights, motors, and other actuators. The microcontroller is
programmed using the Arduino programming language (based on Wiring)
and the Arduino development environment (based on Processing).
6.3.5 Programming:
11
Arduino Based Home Automation System
Arduino based Auto Intensity Control of Street Lights
6.4 LCD
RS (Register select)
A 16X2 LCD has two registers, namely, command and data. The register
select is used to switch from one register to other. RS=0 for command register,
whereas RS=1 for data register.
Data Register: The data register stores the data to be displayed on the LCD.
The data is the ASCII value of the character to be displayed on the LCD. When
we send data to LCD it goes to the data register and is processed there. When
RS=1, data register is selected.
11
FIG 6.5 PIN
11
12
DB5
13
DB6
14 DB7
15
Backlight VCC (5V) Led+
16 Backlight Ground (0V) Led-
Table 6.1 LCD pin description
11
CHAPTER 7
SOFTWARE REQUIREMENTS
7.1 GENERAL
11
language. The simplest way to execute MATLAB code is to type it in the
Command Window, which is one of the elements of the MATLAB Desktop.
When code is entered in the Command Window, MATLAB can be used as an
interactive mathematical shell. Sequences of commands can be saved in a text
file, typically using the MATLAB Editor, as a script or encapsulated into
a function, extending the commands available.
11
MATLAB can be used on personal computers and powerful server
systems, including the Cheaha compute cluster. With the addition of the
Parallel Computing Toolbox, the language can be extended with parallel
implementations for common computational functions, including for-loop
unrolling. Additionally this toolbox supports offloading computationally
intensive workloads to Cheaha the campus compute cluster. MATLAB is one
of a few languages in which each variable is a matrix (broadly construed) and
"knows" how big it is. Moreover, the fundamental operators (e.g. addition,
multiplication) are programmed to deal with matrices when required. And the
MATLAB environment handles much of the bothersome housekeeping that
makes all this possible. Since so many of the procedures required for Macro-
Investment Analysis involves matrices, MATLAB proves to be an extremely
efficient language for both communication and implementation.
11
As alternatives to the MuPAD based Symbolic Math Toolbox available
from Math Works, MATLAB can be connected to Maple or Mathematical.
Development Environment
The MATLAB language supports the vector and matrix operations that
are fundamental to engineering and scientific problems. It enables fast
development and execution. With the MATLAB language, you can program
and develop algorithms faster than with traditional languages because you do
not need to perform low-level administrative tasks, such as declaring variables,
specifying data types, and allocating memory. In many cases, MATLAB
eliminates the need for ‘for’ loops. As a result, one line of MATLAB code can
often replace several lines of C or C++ code.
Development Tools
MATLAB Editor
Code Analyzer
MATLAB Profiler
Directory Reports
Scan all the files in a directory and report on code efficiency, file
differences, file dependencies, and code coverage.
11
Designing Graphical User Interfaces
MATLAB supports the entire data analysis process, from acquiring data
from external devices and databases, through pre-processing, visualization, and
numerical analysis, to producing presentation-quality output.
Data Analysis
11
file I/Ofunctions let you work with data files in any format. Additional
functions let you read data from Web pages and XML.
Visualizing Data
All the graphics features that are required to visualize engineering and
scientific data are available in MATLAB. These include 2-D and 3-D plotting
functions, 3-D volume visualization functions, tools for interactively creating
plots, and the ability to export results to all popular graphics formats. You can
customize plots by adding multiple axes; changing line colours and markers;
adding annotation, Latex equations, and legends; and drawing shapes.
2-D Plotting
11
Image plots.
Cone, slice, stream, and isosurface.
7.2.4 PERFORMING NUMERIC COMPUTATION
7.2.6SOFTWAREREQUIREMENTS:
MATLAB 7.14 Version R2016a
11
CHAPTER 8
RESULTS
8.1 GENERAL
8.2 SNAPSHOTS
1)INPUT IMAGE:
11
FIG 8.1 INPUT IMAGE
3)IMAGE ENHANCEMENT:
11
FIG 8.3 IMAGE ENHANCEMENT
5)COMPLEMENT IMAGE
11
FIG 8.5 COMPLEMENT IMAGE
11
FIG 8.7 BORDER CORRECTED IMAGE
8)MORPHOLOGICAL OPERATION
11
9)DETECTED IMAGE
11
FIG 8.11 NEUTRAL NETWORK
11
13) NEURAL NETWORK OUTPUT
11
FIG 8.14 HARDWARE OUTPUT
CHAPTER 9
CONCLUSION
11
Our proposed method is automated segmentation, feature extraction and
classification of red and white blood cells using KNN, NN, and SVM
classification algorithm. Several improvements were made to the SVM
algorithm, including an initialization step to find 12-neighbor connected
component. Additionally, the proposed model features an enhanced accuracy of
selecting the correct circle from three candidate circles, the capability to detect
irregular cells, the use of a dynamic number of iterations, and improved
detection of overlapping cells. The proposed method performed the
segmentation and classification of WBCs and RBCs well when results were
compared with the ground truth, which was determined by experts. The
following segmentation and counting accuracies were achieved using the
proposed method.
CHAPTER 10
FUTURE SCOPE
11
As proposed the automation of blood analysis and parameters
detection using image processing is a promising field. The work carried out
in this dissertation adds value to previous work by improving accuracy of
existing system, but a lot of more is required to be done to make this
technology available for commercial usage.White blood cells (WBCs)
differential counting yields valued information about human health and disease.
The current developed automated cell morphology equipments perform
differential count which is based on blood smear image analysis. Previous
identification systems for WBCs consist of successive dependent stages; pre-
processing, segmentation, feature extraction, feature selection, and
classification. There is a real need to employ deep learning methodologies so
that the performance of previous WBCs identification systems can be increased.
Classifying small limited datasets through deep learning systems is a major
challenge and should be investigated. For this novel identification system for
WBCs based on deep convolutional neural networks can be implemented.
CHAPTER 11
APPENDIX
11
Coding
clc
closeall;
clearall;
warningoff;
%% Get the input image
[filename,pathname]=uigetfile('images\*.jpg');
% Read Input Image
I=imread([pathname,filename]);
% Resize The input image
I=imresize(I,[512 512]);
figure,imshow(I);title('input image');
%% RGB to Gray conversion
[m n o]=size(I);
if o==3
gray=rgb2gray(I);
else
gray=I;
end
figure,imshow(gray);title('gray image')
%% Contrast Enhancement of the Image
ad=imadjust(gray);
figure,imshow(ad);title('Enhancement Image');
%% Binary conversion
bw=im2bw(gray,0.5);
figure,imshow(bw);title('Binary Image');
% Complementing the binary image
bw=imcomplement(bw);
figure,imshow(bw);title('complement Image');
magnification_value=2000;
II=round(magnification_value/15);
bw1 = bwareaopen(bw,II);
figure,imshow(bw1);title('small objects removed image');
11
%% Segmentation
S=regionprops(bw5,'All');
fori=1:length(S)
box_temp1 =S(i).BoundingBox;
a = box_temp1(1) + (box_temp1(3)/2);
b = box_temp1(2) + (box_temp1(4)/2);
Elong(i) = 1 -(box_temp1(3)/box_temp1(4));
center1_temp = S(i).Centroid;
viscircles([a,b],20);
end
%end
holdoff
a = length(S);
disp('Total number of parasites detected in image = ');
disp(a)
% % % Feature Extraction
% % % % Geometrical Feature
Area = mean([S.Area]);
fori = 1:size(S,1)
diameters(i) = mean([S(i).MajorAxisLength S(i).MinorAxisLength])/2;
radii(i) = diameters(i)./2;
end
perimeter = mean([S.Perimeter]);
ecc = mean([S.Eccentricity]);
elg = mean([S.Solidity]);
Elongation = mean(Elong);
dia = mean(diameters);
rad = mean(radii);
Geome_Fea = [Area dia rad perimeter eccelg Elongation];
% % Texture Feature
[out] = GLCM_Features1(bw5);
angular_momentum = abs(out.idmnc);
Energy = abs(out.energ);
Entropy = abs(out.entro);
Homogeneity = abs(out.homop);
Correlation = abs(out.corrp);
Tex_Fea = [angular_momentum Energy Entropy Homogeneity Correlation];
% % % % Color Feature
R = mean2(I(:,:,1));
G = mean2(I(:,:,2));
B = mean2(I(:,:,3));
Co_Fea = [R G B];
11
Feature = [Geome_FeaTex_FeaCo_Fea];
% % % % % Classification
lab = ones(1,50);
lab(1:9) = 1;
lab(10:17) = 2;
lab(18:31) = 3;
lab(32:end) = 4;
loadfea.mat;
mdl = fitcknn(C,lab);
yfit = predict(mdl,Feature);
% % % Decision making
ifyfit == 1
msgbox('Acute Lymphocytic Leukemia');
elseifyfit == 2
msgbox('Acute Myeloid Leukemia');
elseifyfit == 3
msgbox('Chronic Lymphocytic Leukemia');
elseifyfit == 4
msgbox('Chronic Myeloid Leukemia');
end
% % % % Performence
ACTUAL = lab;
loadyfit1.mat;
PREDICTED = yfit1';
EVAL = Evaluate(ACTUAL,PREDICTED);
% % Table
%% Evalution table
LastName = {'Accuracy';'Sensitivity';'Specificity';'Precision';'Recall';'F-
Measure';'G-mean'};
MultiSVM =
{EVAL(1);EVAL(2);EVAL(3);EVAL(4);EVAL(5);EVAL(6);EVAL(7)};
T = table(MultiSVM,...
'RowNames',LastName);
disp(T)
CHAPTER 12
REFERENCE
11
[1] Cristianini, N., and J. Shawe-Taylor. “An Introduction to support vector
machines and other kernel-based learning methods” New York: Cambridge
University Press, 2000.
[2] Vapnik, V. N. “The Ature of Statistical Learning Theory” New York:
Springer, 1995.
[3] A. Madabhushi, “Digital pathology image analysis: opportunities and
challenges,” Imaging in Medicine, vol. 1, no. 1, pp. 7– 10, 2009.
[4] A. N. Esgiar, R. N. G. Naguib, B. S. Sharif, M. K. Bennett, and A. Murray,
“Fractal analysis in the detection of colonic cancer images,” IEEE Transactions
on Information Technology in Biomedicine, vol. 6, no. 1, pp. 54–58, 2002.
[5] L. Yang, O. Tuzel, P. Meer, and D. J. Foran, “Automatic image analysis of
histopathology specimens using concave vertex graph,” in Medical Image
Computing and Computer-Assisted Intervention—MICCAI 2008, pp. 833–841,
Springer, Berlin, Germany, 2008.
[6] R. C. Gonzalez, Digital Image Processing, Pearson Education India, 2009.
[7] S. Liao, M. W. K. Law, and A. C. S. Chung, “Dominant local binary
patterns for texture classification,” IEEE Transactions on Image Processing, vol.
18, no. 5, pp. 1107–1118, 2009.
[8] J. C. Caicedo, A. Cruz, and F. A. Gonzalez, “Histopathology image
classification using a bag of features and kernel functions,” in Artificial
Intelligence in Medicine, vol. 5651 of Lecture Notes in Computer Science, pp.
126–135, Springer, Berlin, Germany, 2009.
[9] H. S. Wu, J. Barba, and J. Gil, “Iterative thresholding for segmentation of
cells from noisy images” Journal of Microscopy, vol. 197, no. 3, pp. 296–304,
2000.
[10]C. Di Rubeto, A. Dempster, S. Khan, and B. Jarra, “Segmentation of blood
images using morphological operators,” in Proceedings of the 15th International
Conference on Pattern Recognition, vol. 3, pp. 397–400, 2000.
11
[11]C.D., Ruberto, A., Dempster, S., Khan, B. Jarra, “Analysis of Infected
Blood Cell Images Using Morphological Operators”, Image and Vision
Computing, Vol. 20, 2002, pp. 133-146 PaswanSachin, RathoreYogesh Kumar,
International Journal of Advance Research, Ideas and Innovations in
Technology.
© 2017, www.IJARIIT.com All Rights Reserved Page | 324 [12]Q. Liao and Y.
Deng, “An accurate segmentation method for white blood cell images,” in
Proceedings of the IEEE International Symposium on Biomedical Imaging, pp.
245–258, 2002
[13] J.L. Starck, E.J. Candes, D.L. Donoho, “The curvelet transform for image
denoising”, IEEE Transaction on Image Processing 11 (6) (2002) 670–684.
[14] G. Lin, U. Adiga, K. Olson, J. F. Guzowski, C. A. Barnes, and B. Roysam,
“A hybrid 3Dwatershed algorithm incorporating gradient cues and object
models for automatic segmentation of nuclei in confocal image stacks,”
Cytometry Part A, vol. 56, no. 1, pp. 23–36, 2003.
[15] the Fabio Scotti University of Milan, Department of Information
Technologies, via Bramante 65, 26013 “Automatic Morphological Analysis for
Acute Leukemia Identification in Peripheral Microscope Images” IEEE
International Conference on Computational Intelligence for Measurement
Systems and Giardini Naxos, Italy, 20-22 July 2005.
[16] SubrajeetMohapatra, DiptiPatra, SanghamitraSatpathy,"Automated
Leukemia Detection in Blood Microscopic Images using Statistical Texture
Analysis",inICCCS, February 2011.
11