Tuesday, 16 October 2012

Automatic Vehicle Number Plate Recognition



Project : Automatic Vehicle Number Plate Recognition System
Semester : Spring 2011
Platform : Java


Automatic Vehicle Number Plate Recognition System was a semester long team project (team of 3). The aim of this project was to develop a smart and simple algorithm for a generic vehicle license plate recognition system from video. 


Modules :
  • Obtaining frames from input video
    • Consecutive frames are compared
    • If sufficient difference is noted, it is assumed that a moving vehicle is present in that image, and the frame is selected for further processing.
  • Extracting number plate from obtained frame
    • Convert color image to gray scale image
    • Apply Canny edge detection to get edges
    • Apply Hough Transformation to get straight lines
    • Enhance output and apply Dilation 
    • Detect rectangles
  • Segmentation of extracted number plate
    • Deskew number plate area
    • Get segments by finding horizontal boundaries between characters
    • Enhance segments by eliminating dots, stretches and redundant space on the sides of characters
  • Recognizing characters from segmented images
    • Normalize segments
    • Template matching using neural network principles


My major work involved extracting number plate from the selected frame.
Here is an example :



Sample Image



Convert to gray scale



Edges using Canny Edge Detector



Straight Lines after applying Hough Transformation



Extracted Number Plate