You are on page 1of 25

AIR BORNE CHARACTER RECOGNITION SYSTEM

Project Guide Mrs.Sundari Tribhuvanam 1AT08EC066 1AT08EC069 1AT08EC075 1AT08EC100

Nithin Chandra Bharadwaj N Naveen Kumar S Praveen G Srikanth N S

Project Guide
Mrs.Sundari Tribhuvanam

Abstract

Character recognition system is a new concept which has been introduced lately due to the growing demand for security Digital imaging allows the operator to post-process the image that allows the operator to manipulate the pixel shades Just by the movement of the hand, the characters written in plain air are identified

Introduction

Computers still receive input from traditional low bandwidth devices such as a keyboard or a mouse

These devices are inconvenient for providing high degrees-of-freedom inputs


Growing interest on Human-Computer Interaction (HCI) to develop a machine that can understand audio and visual based information

Flow Chart
Start Initialization of Camera Writing the character A

A Acquiring Frames No

Frames Acquired =42

Add Frames A

A Noise Elimination Character Mapping Display Character Stop

Requirements

Dark Room for character capture Black Screen


Hardware tools

12 MP iBall Web Camera

650nm hand-held LASER( Helium-Neon LASER admissible)

Software tools

Windows 7/Vista 32/64 operating system

Matlab 2009/2011 editions with Image Processing tool box


Webcam software to configure the device outside Matlab(only if necessary)

Image Acquisition

Properties of camera:

Frame Rate = 15 fps

Frames Per Trigger = 40 Backlight Compensation = off

Color Space = RGB

Compression=None

Capture video from camera

Convert

video to frames

Obtain the number of frames Write the frames into a structural array

S=struct('field1',values1,'field2',values2,...)

Creates a Structure array with the specified fields and values


Combine

frames to form a single image

Concatenating strings
Combinedstr

= strcat(s1, s2, ..., sn) horizontally concatenates strings in arrays s1, s2, ..., sn

Image Acquisition(Bright Background)

Noise Reduction

Histogram Processing

Histogram of a digital image with intensity levels in the range [0,L-1] is a discrete function h(rk)=nk ,where rk is the kth intensity value and nk is the number of pixels in the image with the intensity rk.

Median Filter

The median, x, of a set of values is such that half the values in the set are less than or equal to x and half are greater than or equal to x. The median represents the 50th percentile of a ranked set of numbers.

Noise Reduction

Line width increased using 3*3 window

Image Mapping

Read the Noise reduced image and threshold the size of the image

D = SIZE(X), for m-by-n matrix X, returns the twoelement row vector D = [M,N] containing the number of rows and columns in the matrix

Convert the RGB image into a GRAY scale image Elimination of residue noise using a 2-D median filter

B = MEDFILT2(A,[M N]) performs median filtering of the matrix A in two dimensions. Each output pixel contains the median value in the M-by-N neighborhood around the corresponding pixel in the input image

Calculate connected components

Label connected components in 2-D binary image

L = BWLABEL(BW,N) returns a matrix L, of the same size as BW containing labels for the connected components in BW

Resize the image to 42*24 pixels for character identification Read the letter from the image and store the letter in a text document Display the letter in the text document

Sobel operator:
z1 z4 z7 z2 z5 z8 z3 z6 z9 Gx = (z1+2z2+z3)-(z7+2z8+z9) Gy =(z1+2z4+z7)-(z3+2z6+z9)

Sobel masks -1 0 1 -2 0 2 0 -1 -2 -1 0 1 1 0 -1 -1 -2 -1 2 1 0 0 0 0 1 2 1

BW = EDGE(I,'sobel') specifies the Sobel method.

BW = EDGE(I,'sobel',THRESH) specifies the sensitivity threshold for the Sobel method. EDGE ignores all edges that are not stronger than THRESH. If you do not specify THRESH, or if THRESH is empty ([]), EDGE chooses the value automatically.

BWLABEL Label connected components in 2-D binary image. L = BWLABEL(BW,N) returns a matrix L, of the same size as BW, containing labels for the connected components in BW. N can have a value of either 4 or 8, where 4 specifies 4-connected objects and 8 specifies 8-connected objects; if the argument is omitted, it defaults to 8.

CALCULATING THE CONNECTED COMPONENTS


BW = logical([1 1 1 0 0 0 0 0 11101100 11101100 11100010 11100010 11100010 11100110 1 1 1 0 0 0 0 0]); L = bwlabel(BW,4) [r,c] = find(L == 2) L= 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 0 2 0 2 0 0 3 0 3 0 3 3 3 0 0 0 0 0 0 0 0 0 0

r= 2 3 2 3

c= 5 5 6 6

Conclusion

Future Developments

Identifying words with atleast two characters Interfacing the final character on to a DSP processor and observing the character on an LCD Display

You might also like