Upload
girija-sankar-das
View
231
Download
0
Embed Size (px)
Citation preview
INDEX
S.NO. TOPIC PAGE NO.
1 . INTRODUCTION TO MATLAB 5
2. HAMMING NET 12
3 . .INTRO TO OCR 16
4. NEURAL NETWORK 20
5. FUNCTIONS USED 21
floor
max
sprintf
disp
char
6. OPERATION OF THE PROJECT 28
7. LIMITATIONS 35
8. ADVANTAGES 37
9. APPLICATIONS AND FUTURE ASPECTS 38
10. CONCLUSION 39
11. REFERENCES 40
INTRODUCTION TO MATLAB
MATLAB is a high-performance language for technical computing. It integrates
computation, visualization, and programming in an easy-to-use environment
where problems and solutions are expressed in familiar mathematical notation.
Typical uses include :-
Math and computation
Algorithm development
Data acquisition
Modeling, simulation, and prototyping
Data analysis, exploration, and visualization
Scientific and engineering graphics
Application development, including graphical user interface building.
MATLAB is an interactive system whose basic data element is an array that
does not require dimensioning. This allows you to solve many technical
computing problems, especially those with matrix and vector formulations, in a
fraction of the time it would take to write a program in a scalar non-interactive
language such as C or Fortran.
The name MATLAB stands for matrix laboratory. MATLAB was originally
written to provide easy access to matrix software developed by the LINPACK
and EISPACK projects. Today, MATLAB engines incorporate the LAPACK
and BLAS libraries, embedding the state of the art in software for matrix
computation.
MATLAB has evolved over a period of years with input from many users. In
university environments, it is the standard instructional tool for introductory and
advanced courses in mathematics, engineering, and science. In industry,
MATLAB is the tool of choice for high-productivity research, development, and
analysis.
MATLAB features a family of add-on application-specific solutions called
toolboxes. Very important to most users of MATLAB, toolboxes allow you to
learn and apply specialized technology. Toolboxes are comprehensive
collections of MATLAB functions (M-files) that extend the MATLAB
environment to solve particular classes of problems. Areas in which toolboxes
are available include signal processing, control systems, neural networks, fuzzy
logic, wavelets, simulation, and many others.
The MATLAB System
The MATLAB system consists of five main parts:
Development Environment:-
This is the set of tools and facilities that help you use MATLAB functions and
files. Many of these tools are graphical user interfaces. It includes the
MATLAB desktop and Command Window, a command history, an editor and
debugger, and browsers for viewing help, the workspace, files, and the search
path.
The MATLAB Mathematical Function Library:-This is a vast collection of computational algorithms ranging from elementary
functions, like sum, sine, cosine, and complex arithmetic, to more sophisticated
functions like matrix inverse, matrix eigenvalues, Bessel functions, and fast
Fourier transforms.
The MATLAB Language:-
This is a high-level matrix/array language with control flow statements,
functions, data structures, input/output, and object-oriented programming
features. It allows both "programming in the small" to rapidly create quick and
dirty throw-away programs, and "programming in the large" to create large and
complex application programs.
Graphics:-
MATLAB has extensive facilities for displaying vectors and matrices as graphs,
as well as annotating and printing these graphs. It includes high-level functions
for two-dimensional and three-dimensional data visualization, image
processing, animation, and presentation graphics. It also includes low-level
functions that allow you to fully customize the appearance of graphics as well
as to build complete graphical user interfaces on your MATLAB applications.
The MATLAB Application Program Interface (API):-This is a library that allows you to write C and Fortran programs that interact
with MATLAB. It includes facilities for calling routines from MATLAB
(dynamic linking), calling MATLAB as a computational engine, and for reading
and writing MAT-files.
Matrices in MATLABA matrix is a two-dimensional array of real or complex numbers. Linear algebra
defines many matrix operations that are directly supported by MATLAB. Linear
algebra includes matrix arithmetic, linear equations, eigen values, singular
values, and matrix factorizations.
Multiplying MatricesMultiplication of matrices is defined in a way that reflects composition of the
underlying linear transformations and allows compact representation of systems
of simultaneous linear equations. The matrix product C = AB is defined when
the column dimension of A is equal to the row dimension of B, or when one of
them is a scalar. If A is m-by-p and B is p-by-n, their product C is m-by-n. The
product can
actually be defined using MATLAB for loops, colon notation, and vector dot
products. A = pascal(3);
B = magic(3);
m = 3; n = 3;
for i = 1:m
for j = 1:n
C( i , j) = A( i ,:)*B(:,j);
end
end
MATLAB uses a single asterisk to denote matrix multiplication. The next two
examples illustrate the fact that matrix multiplication is not commutative; AB is
usually not equal to BA. X = A*B
X =
15 15 15
26 38 26
41 70 39
Y = B*A
Y =
15 28 47
15 34 60
15 28 43
A matrix can be multiplied on the right by a column vector and on the left by a
row vector. u = [3; 1; 4];
x = A*u
x = 8
17
30
v = [2 0 -1];
y = v*B
y = 12 -7 10
Rectangular matrix multiplications must satisfy the dimension compatibility
conditions. C = fix(10*rand(3,2));
X = A*C
X = 17 19
31 41
51 70
Y = C*A
Error using ==> *
Inner matrix dimensions must agree.
Anything can be multiplied by a scalar. s = 7;
w = s*v
w = 14 0 -7
SOFTWARE AND HARDWARE REQUIRED
Software Required : MATLAB 7.0.1 with Image Processing and Neural
Network toolboxes.
Hardware Required : Scanner and PC
HAMMING NET
Theory:Lippmann worked on the hamming net during 1987.In hamming net, Max net is used as a
subnet to find the unit with the largest net input. It is a max likelihood classifier net that
determines which of several exemplar vectors is most similar to an input vector. The weight
of the net in this case is determined by the exemplar vectors.
HAMMING DISTANCE:The hamming distance between two vectors is the no. of components in which the vector
differs. It can also be defined as the number of differences between two binary or bipolar
vectors (x ,y). It can be denoted as H(x , y) .
The average hamming distance is given as,
= H(x ,y) / n
where ‘n’ is the number of components in each vector.
In Hamming net the measure of similarity between the input vector and the stored exemplar
is minus the Hamming distance between the vectors.
Consider two bipolar vectors x and y,
If ‘a’ = number of components in which the vector agree.
and ‘d’ = number of components in which the vector differ (hamming distance)
Then, x . y = a – d
If ‘n’ is the number of components, then,
n = a + d
(or) d = n – a
As a result, x . y = a – d = a – (n – a)
x . y = 2a – n
2a = x . y + n
From these results, it is understood that, if the weights are set to one-half of the exemplar
vector and the bias to one-half of the number of components, the net will find the unit with
the closest exemplar simply by finding the unit with the largest net input.
ARCHITECTURE:The architecture is shown in figure assuming input vector with 4-tuples and the output to be
classified to one of the 2 classes given.
The architecture consists of ‘n’ input modes in the lower net, with each input node connected
to the ‘m’ output nodes. These output nodes are connected to an upper net (i.e. Max net –
acting as subnet for Hamming net) which calculates the best exemplar matched to the input
vector. The ‘m’ in the output nodes represents the number of exemplar vectors stored in the
net. It is important to note that the input vector and the exemplar vector are bipolar.
For a given set of exemplar vectors, the hamming net finds the exemplar vector that is closest
to the bipolar input vector ‘x’. The number of components in which the input vector and the
exemplar vector agree is given by the net input.
APPLICATION PROCEDURE:-The parameters used are
n = number of input nodes (input vectors)
m = number of output nodes (exemplar vectors)
e(j) = jth exemplar vector
The application procedure is as follows:
Step1 : Weights are to be initialized for storing ‘m’ exemplar vectors
Wij= ei(j) / 2, (i = 1,2,3…….n, j = 1,2,3…….m)
Initializing the bias
bj= n / 2 (j = 1,2,3……..m)
Step2 : For each vector ‘x’, perform steps 3-5
Step3 : Compute the net input to each unit Yj.
Y-inj = bj+ ∑(Xi Wij) (j = 1,2,3....m) i
Step4 : Initialize activations for Max net
Yj(0)= Y-inj (j = 1,2,3……..m)
Step5 : Max net iterates to find the best match exemplar.
n input nodes
{
{
x2 x1 x3 x4
y1 y2
Max Net
m output nodes
Fig. 6 : Hamming Net
INTRODUCTION TO OCR
The goal of Optical Character Recognition (OCR) is to classify optical patterns (often
contained in a digital image) corresponding to alphanumeric or other characters. The process
of OCR involves two steps for classification: training and testing. These steps can be broken
down further into sub-steps:
1. Training a. Pre-processing: These are the pre-processing steps often performed in OCR:
i. Manual Cropping – This allows the user to crop the image manually, which is an
important process to manipulate the data more in details.
ii. Resizing – This cell of codes magnify the image for 5 times. Resize function is
important when the size of the characters are not standard.
iii. Colour to Black n White (Grayscale) – Presence of the character stroke is marked
by black and rest of the background by white.
b. Feature extraction :
i. Segmentation – It divides the image into square grids representing pixels to extract
features from each individual pixel.
ii. Binarization – Usually presented with a grayscale image, binarization is then simply
a matter of choosing a threshold value, and depending on the average light intensity of
each pixel, assigning logic 1 if its value is above threshold, otherwise logic -1.
c. Classification : An input vector consisting of values (-1,1) and its output pair
corresponding to each character is presented to a Heteroassociative Neural Network to
train it to recognize given character set by updating its weights accordingly.
2. Recognition or Testing a. Pre-processing -- Testing image of a character may now be partial or noisy.
b. Feature extraction – (both same as above)
c. Classification – Compare feature vectors to the various models and find the closest match.
Fig. 4 : The Pattern Classification Process
Detailed Block Diagram for Training and Testing :
Before OCR can be used, the source material must be scanned using an optical scanner (and
sometimes a specialized circuit board in the PC) to read in the page as a bitmap (a pattern of
dots). Software to recognize the images is also required.
The OCR software then processes these scans to differentiate between images and text and
determine what letters are represented in the light and dark areas.
Older OCR systems match these images against stored bitmaps based on specific fonts. The
hit-or-miss results of such pattern-recognition systems helped establish OCR's reputation for
inaccuracy.
Today's OCR engines add the multiple algorithms of neural network technology to analyze
the stroke edge, the line of discontinuity between the text characters, and the background.
Allowing for irregularities of printed ink on paper, each algorithm averages the light and dark
along the side of a stroke, matches it to known characters and makes a best guess as to which
o/p corres to i/p
Input vector
Scana
character
Store as .bmp
file
Crop imageand
fit to size
Change colour image to grayscale
Divide image into
grids
Binarize the image acc. to average
intensity of each pixel
HeteroassociativeNeural
Network
character it is. The OCR software then averages or polls the results from all the algorithms to
obtain a single reading.
NEURAL NETWORKS
Neural networks are composed of simple elements operating in parallel. These elements are
inspired by biological nervous systems. As in nature, the network function is determined
largely by the connections between elements. We can train a neural network to perform a
particular function by adjusting the values of the connections (weights) between elements.
Inputs arrive from other neurons, or from the environment. By taking the inner product, the
neuron essentially multiplies each input it receives by a weight which is specific to that input.
(This is loosely based on the fact that real neurons are connected by synapses that vary in
strength. Any given neuron in the brain receives inputs from as many as thousands of other
neurons, and it pays more "attention" to some than to others.) The neuron adds all of these
weighted activations together, along with any bias that it might have, to form the inner
product. The inner product is then subjected to a transfer function which is preferably
nonlinear. The result is the neuron's output.
Fig. 5 : A single neuron in a neural network
FUNCTIONS USED
floor :-
Round towards minus infinity
Syntax
B = floor(A)
Description:-
B = floor(A) rounds the elements of A to the nearest integers less than or equal to A.
For complex A, the imaginary and real parts are rounded independently.
Examples:-
a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i]
a =
Columns 1 through 4
-1.9000 -0.2000 3.4000 5.6000
Columns 5 through 6
7.0000 2.4000 + 3.6000i
floor(a)
ans =
Columns 1 through 4
-2.0000 -1.0000 3.0000 5.0000
Columns 5 through 6
7.0000 2.0000 + 3.0000i
max :- Maximum elements of an array
Syntax :-
C = max(A)
C = max(A,B)
C = max(A,[],dim)
[C,I] = max(...)
Description:-
C = max(A) returns the largest elements along different dimensions of an array.
If A is a vector, max(A) returns the largest element in A.
If A is a matrix, max(A) treats the columns of A as vectors, returning a row vector
containing the maximum element from each column.
If A is a multidimensional array, max(A) treats the values along the first non-singleton
dimension as vectors, returning the maximum value of each vector.
C = max(A,B) returns an array the same size as A and B with the largest elements
taken from A or B.
C = max(A,[],dim) returns the largest elements along the dimension of A specified by
scalar dim. For example, max(A,[],1) produces the maximum values along the first
dimension (the rows) of A.
[C,I] = max(...) finds the indices of the maximum values of A, and returns them in
output vector I. If there are several identical maximum values, the index of the first
one found is returned.
sprintf :- Write formatted data to a string
Syntax
[s, errmsg] = sprintf(format, A, ...)
Description
[s, errmsg] = sprintf(format, A, ...) formats the data in matrix A (and in any additional
matrix arguments) under control of the specified format string and returns it in the
MATLAB string variable s. The sprintf function returns an error message string
errmsg if an error occurred. errmsg is an empty matrix if no error occurred.
sprintf is the same as fprintf except that it returns the data in a MATLAB string
variable rather than writing it to a file.
Format String
The format argument is a string containing C language conversion specifications. A
conversion specification controls the notation, alignment, significant digits, field
width, and other aspects of output format. The format string can contain escape
characters to represent nonprinting characters such as newline characters and tabs.
Conversion specifications begin with the % character and contain these optional and
required elements:
Flags (optional)
Width and precision fields (optional)
A subtype specifier (optional)
Conversion character (required)
disp :- Display text or array
Syntax
disp(X)
Description :-
disp(X) displays an array, without printing the array name. If X contains a text string,
the string is displayed.
Another way to display an array on the screen is to type its name, but this prints a
leading "X =," which is not always desirable.
Note that disp does not display empty arrays.
Examples
One use of disp in an M-file is to display a matrix with column labels:
disp (' Corn Oats Hay')
disp(rand(5,3))
which results in
Corn Oats Hay
0.2113 0.8474 0.2749
0.0820 0.4524 0.8807
0.7599 0.8075 0.6538
0.0087 0.4832 0.4899
0.8096 0.6135 0.7741
char :- Create character array (string)
Syntax
S = char(X)
S = char(C)
S = char(t1,t2,t3...)
Description
S = char(X) converts the array X that contains positive integers representing character
codes into a MATLAB character array (the first 127 codes are ASCII). The actual
characters displayed depend on the character set encoding for a given font. The result
for any elements of X outside the range from 0 to 65535 is not defined (and can vary
from platform to platform). Use double to convert a character array into its numeric
codes.
S = char(C), when C is a cell array of strings, places each element of C into the rows
of the character array s. Use cellstr to convert back.
S = char(t1,t2,t3,..) forms the character array S containing the text strings T1,T2,T3,...
as rows, automatically padding each string with blanks to form a valid matrix. Each
text parameter, Ti, can itself be a character array. This allows the creation of arbitrarily
large character arrays. Empty strings are significant.
Remarks
Ordinarily, the elements of A are integers in the range 32:127, which are the printable
ASCII characters, or in the range 0:255, which are all 8-bit values. For noninteger
values, or values outside the range 0:255, the characters printed are determined by
fix(rem(A,256)).
Examples :-
To print a 3-by-32 display of the printable ASCII characters, ascii =
char(reshape(32:127,32,3)')
ascii =
! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?
@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _
' a b c d e f g h i j k l m n o p q r s t u v w x y z { |
Operation of the project
In this project, we have made two separate programs to recognize alphabets and
digits. For this, we have used the operating principle of Hamming net.
We have designed and trained one network to recognize the 26 letters of the
alphabet and another for the 10 digits i.e. 0 to 9. An imaging system that
digitizes each letter centered in the system's field of vision is available. The
result is that each letter is represented as a 7 by 5 grid of boolean values(1 and -
1).
For example, here are some of the letters and digits
1 1 1 1 -1 1 1 1 1 -11 -1 -1 -1 1 1 -1 -1 -1 11 -1 -1 -1 1 1 -1 -1 -1 1 1 1 1 1 -1 1 -1 -1 -1 11 -1 -1 -1 1 1 -1 -1 -1 11 -1 -1 -1 1 1 -1 -1 -1 11 1 1 1 -1 1 1 1 1 -1
(B) (D)
-1 1 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 -1-1 1 1 1 -1 -1 1 1 -1 1
(O) (Q)
1 1 1 1 -1 1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 11 -1 -1 -1 1 1 -1 -1 -1 11 1 1 1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 1 -1 1 1 -11 -1 -1 -1 -1 1 -1 -1 1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1
(P) (R)
-1 1 1 1 -1 1 1 1 1 1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 -1 -1 -1 1 -1 -1
(I) (T)
1 1 1 1 1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 1 -1 -1 -1 1 1 1 1 -1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 1 -1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 -1 1 1 1 -1 -1 1 1 1 -1
(5) (6) -1 1 1 1 -1 -1 1 1 1 -1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 -1 1-1 1 1 1 -1 -1 1 1 1 1 1 -1 -1 -1 1 -1 -1 -1 -1 1 1 -1 -1 -1 1 1 -1 -1 1 -1 -1 1 1 1 -1 -1 1 1 -1 -1
(8) (9)
The network receives the 35 Boolean values as a 35-element input vector. It is
then required to identify the letter by responding with a 26-element output
vector. The 26 elements of the output vector each represent a letter.
To operate correctly, the network should respond with the maximum output
value in the position of the letter being presented to the network. All other
values in the output vector should be lesser.
The Hamming net works on the principle of ‘Competitive learning’.In the first
layer, the input pattern activates at most one output layer neuron or “winner”.
The “winner” is the neuron which gives maximum output. The underlying
association principle is minimum Hamming distance.
The proposed structure exhibits the following favorable characteristics:
it operates in one-shot which implies no convergence-time requirements;
it does not require any feedback; and
The network also exhibits
3) it does not require any hidden layer interconnections or tree-search
operations, hence it exhibits low structural as well as operational complexity
However, the imaging system is not perfect and the characters may suffer from
noise. The project does perfect classification of ideal input vectors, and
reasonably accurate classification of noisy vectors.
The first MATLAB program performs “Alphabet Recognition”.
35 elements
of a character
matrix
representation
presented as
input to
the netBias b26
Bias b2
Bias b1
.
.
.
.
1
2
3
A
B
Z
.
.
.
N = 35
M = 26
Only the
neuron with
maximum
output value
fires
and turns ON
Hamming Net for Alphabet Recognition
The matrices that represent these alphabets are two-dimensional (7x5 elements),
but more conveniently have been written as single row (35 positions) vectors.
The twenty-six 35-element input vectors have been defined in the matrix ‘x’.
This has been used to calculate the 35x 26 weight matrix ‘w’ according to the
Hamming net algorithm. The bias matrix is a 1x26 row vector named ‘b’. It
contains the bias values for the output nodes. The floor() function has been used
for accomplishing this.
The input is presented as a 1x35 row vector named ‘t’ with bipolar values 1 and
-1.
The output matrix ‘y’ has been calculated using the weight matrix ‘w’, the input
vector ‘t’, and the bias matrix ‘b’.
The maximum value among the 26 elements of ‘y’ has been found using the
max() function. The corresponding index value is stored in variable ‘q1’, and
‘q2’, in case two equal outputs are maximum.
Using ‘q1’, the alphabet identified is displayed .The char(), sprintf() and disp()
functions have been used for this.
The second MATLAB program performs “Digit Recognition”.
It utilizes the same procedure as the first program. Here, ‘x’ is a 10x35 matrix,
each row representing a digit. Accordingly, the dimensions of ‘w’ and ‘b’ have
been modified. Here, the output matrix ‘y’ contains 10 elements.
Parameters affecting recognition of character:
1. The first step toward better recognition begins with the scanner. The quality of its
charge-coupled device light arrays will affect OCR results. The more tightly
packed these arrays, the finer the image and the more distinct colors the scanner
can detect.
2. Smudges or background color can fool the recognition software. Adjusting the
scan's resolution can help refine the image and improve the recognition rate, but
there are trade-offs.
For example, in an image scanned at 24-bit color with 1,200 dots per inch (dpi),
each of the 1,200 pixels has 24 bits' worth of color information. This scan will take
longer than a lower-resolution scan and produce a larger file, but OCR accuracy
will likely be high.
A scan at 72 dpi will be faster and produce a smaller file—good for posting an
image of the text to the Web—but the lower resolution will likely degrade OCR
accuracy.
Most scanners are optimized for 300 dpi, but scanning at a higher number of dots
per inch will increase accuracy for type under 6 points in size.
3. Bilevel (black and white only) scans are the rule for text documents. Bilevel scans
are faster and produce smaller files, because unlike 24-bit color scans, they require
only one bit per pixel. Some scanners can also let you determine how subtle to
make the color differentiation.
Which method will be more effective depends on the image being scanned. A
bilevel scan of a shopworn page may yield more legible text. But if the image to be
scanned has text in a range of colors, as in a brochure, text in lighter colors may
drop out.
Limitations of the project Although the project works satisfactorily, following limitations are encountered
while implementing it :-
1. The project utilizes two different programs to process and identify character and
digit input.
2. The project recognizes every input presented to it as at least one of the
characters/digits.
Advantages of OCROften abbreviated OCR, optical character recognition refers to the branch of computer
science that involves reading text from paper and translating the images into a form
that the computer can manipulate (for example, into ASCII codes). An OCR system
enables you to take a book or a magazine article, feed it directly into an electronic
computer file, and then edit the file using a word processor.
All OCR systems include an optical scanner for reading text, and sophisticated
software for analyzing images. Most OCR systems use a combination of hardware
(specialized circuit boards) and software to recognize characters, although some
inexpensive systems do it entirely through software. Advanced OCR systems can read
text in large variety of fonts, but they still have difficulty with handwritten text.
The potential of OCR systems is enormous because they enable users to harness the
power of computers to access printed documents. OCR is already being used widely in
the legal profession, where searches that once required hours or days can now be
accomplished in a few seconds.
Advances have made OCR more reliable; expect a minimum of 90% accuracy for
average-quality documents. Despite vendor claims of one-button scanning, achieving
99% or greater accuracy takes clean copy and practice setting scanner parameters and
requires you to "train" the OCR software with your documents.
Applications and Future Prospects
A few examples of OCR applications are listed here. The most common use
for OCR is the first item; people often wish to convert text documents to some
sort of digital representation.
1. Scanning a document and have the text of that document available in a
word processor.
2. Recognizing license plate numbers
3. Recognizing zip-codes in post-office
Today, OCR software can recognize a wide variety of fonts, but handwriting
and script fonts that mimic handwriting are still problematic. Developers are
taking different approaches to improve script and handwriting recognition.
OCR software can be first made to identify the font and then run its character-
recognition algorithms. Advances are being made to recognize characters
based on the context of the word in which they appear. The next step can be
document recognition, in which the software can use knowledge of the parts of
speech and grammar to recognize individual characters.
This project can be further developed to perform other types of pattern
recognition, like handwriting recognition.
CONCLUSION
Engineering students will have to serve in the public or private sector industries,
labs. Workshop based training and teaching in classroom have their own
limitations .The lack of exposure to real life material processes and functioning
of industrial organization is the major hindrance in the student’s development .
Project is a major step to remove this hindrance. Through this project, we have
gained knowledge about MATLAB and NEURAL NETWORKS.
This project helps an individual in gaining new practical concepts and this is the
practical knowledge which helps one in their respective jobs
The purpose of OPTICAL CHARACTER RECOGNITION is to provide an
efficient way to recognize pattern of various types given by the user. We can
conclude that OCR provides ease of performance, saves time, and at the same
time, it is user friendly.