Post on 05-Dec-2014
description
CAR RECOGNITION SYSTEM USING
MATLAB
Project Supervisor
Sir Umer Javed
Group Members
Sania Arif (1547)Namra Afzal (1528)
Laraib Mumtaz (1522)
Batch F11 BSEE Faculty of Engineering and
Technology IIUI
WHY DID WE CHOOSE THIS PROJECT?
Identification of stolen cars
Smuggling of Cars
Invalid license plates
Usage of cars in terrorist attacks/illegal activities
Applications in traffic systems (highway electronic toll collection, red light violation enforcement, border and customs checkpoints, etc.).
2
AIM
We intended to develop a system in MATLAB which can perform detection as well as recognition of Car Number plate
The objective of this project is to recognize car number plate using serial communication.
3
WORK DIVISION
Matlab code ( Namra Afzal 1528 /BSEE /FET F11)
Microcontroller interfacing (Sania Arif / 1547 /BsEE FET f11)
Hardware ( Laraib Mumtaz/ 1522/ BSEE /FET F11)
4
TIME DIVISION Week 1 Studied project Project PlanningWeek 2 matlab coding Week 3 Simulation using proteus Hardware Week 4 Hardware Interfacing
5
BLOCK DIAGRAM:INPUT IMAGE
ALGORITHM USING (MATLAB) OUTPUTMICROCONTROLLER
BASIC PROJECT
Input image ( from real environment)
Algorithm using (matlab) outputMicrocontroller serial interfacing with hardware.
6
WORKFLOW
Image was taken from real environment . Process Digital Images of License Plates using
existing/modified algorithms.
Algorithms will perform alpha numeric conversions on the captured license plate images into text entries.
System would check the extracted entries against a database in real time.
The entire system is implemented in MATLAB is used for detection and recognition . 7
BASIC MODULES OF THE SYSTEM
Detection is done by Character Segmentation Locates the alpha numeric characters on a license plate.
Optical Character Recognition (OCR)Translates the segmented characters into text entries.
8
Block Diagram
9
Start
Localization
End
Characters And Numbers Segmentation
Feature Extraction Of Segmented Image
Recognize The Extracted Features
Show The License Plate
10
LICENSE PLATE LOCALIZATION
11
Edge Detection
Morphological
Operations
Extracting The Plate
Region
Flow Chart of extraction in Matlab
12
13
Start
Load Image From File
Morphological Operations Are Applied On The Image
Convert Image Into Grayscale
Median Filter To remove noise in The Image
Edge enhancement In The Image
Convolution for brightening image
Intensity scaling
Show The License Plate
Filling all the regions of Image
Thinning to isolate characters
End
LOAD THE IMAGE FROM FILE
14
a=imread(‘car 10.JPG’)
PREPROCESSING Preprocessing is very important for the
good performance of character segmentation.
Preprocessing consists of :
Resizing image
Rgb to gray
Noise removal ( we used median filter) .
CHANGING THE TYPE
16
c=rgb2gray(b);
EXTRACTING PLATE REGION
It is result of dilation after noise removal .
17
18
EDGE ENHANCEMENT
19
gdiff=imsubtract(d,e);
where ‘d’ is dilated and ‘e’ is eroded image
MORPHOLOGICAL OPERATIONS
Filling (holes ) Thinning ( for character isolation) Finding connected components of area more
than 200 pixels
20
CHARACTERS SEGMENTATION
21
PreprocessingHorizontal And
Vertical Segmentation
HORIZONTAL & VERTICAL
SEGMENTATION
Detect the horizontal lines in the image with a pixel value of zero.
Converting the image into binary.
Use simple “for loops” to detect the portions of the image that had connected objects with a pixel value of ‘0’ and hence accordingly, the image was read.
22
CHARACTERS RECOGNITION
23
Template Matching
Template matching is one of the most common and easy
classification method for recognizing the characters.
We used code for OCR
TEMPLATE MATCHINGThe used templates are given in the figure below:
24
OUTPUT
Correlation is used to match the image from the
license plate and the template’s image. The
following figure shows the numbers in a text file.
26
27
EXPERIMENTAL RESULTS
28
WHY CHOSE MATLAB FOR PROJECT
To move to a Real Time Environment.
For fast computation.
29
PROBLEMS WITH THE MATLAB SYSTEM
The problems that we faced during Localization were:
Algorithm did not work perfectly for more than one image.
Manual Changes were required in the code every
time , manually we had to change parameters in
code that was kind of hit and trial method.
30