License Plate Recognition
License Plate Recognition is special type of OCR and therefore the definition of License Plate Recognition should clearly reflect that it is indeed an OCR.
License Plate Recognition OCR software
Optical Character Recognition - simple saying - means a software that is able to 'read' the text of scanned documents: "Optical Character Recognition (OCR) is the method used by a computer to convert scanned in pages of text into electronic text documents.". (See: Definitions of Optical Character Recognition (OCR) on the Web)
Specialising the definitions of OCR - and following the accustomed terminology - License Plate Recognition may be defined as:
· "License Plate Recognition is the method used by a computer to convert digital images of vehicle license plates into electronic text."
· "License Plate Recognition is a technology that can recognise letters from a digitised license plate image and convert them into ASCII characters to be processed as an editable text."
· "License Plate Recognition refers to the branch of computer science that involves reading text from digital pictures of vehicle license plates and translating the images into a form that the computer can manipulate (for example, into ASCII codes)."
· "License Plate Recognition converts digitised image of vehicle license plates into editable license number text."
All of these definitions - translated from the definitions of OCR - suggest a computer program, a software, a set of algorithms much rather than some hardware devices or integrated systems to be understood under the term 'License Plate Recognition'.
We do share this view: License Plate Recognition actually means a software that is able to read the license plate text from a digital image of a vehicle.
The input of the LPR Software is a digital image, while the output is the raw plate text in ASCII. All other software or software modules of an LPR system (GUI, video capturing, image saving and loading, database searches, data transfers, etc.) are not considered to be part of a License Plate Recognition Software.
Let's see here what the main steps of license plate recognition are, what a license plate recognition software usually has to go through.
As a first step, the LPR software should determine whether or not there is a license plate on that image at all or not. If there is a plate, it has to be as precisely localised (located) as possible and then extracted from the image for further processing.
Locating the license plate on a digital image of a vehicle
After the license plate is located and extracted from the whole picture, it has to be transformed into a standardised form:
· normalised foreground/background colours (normalised contrast and brightness values),
· normalised size,
· uniform plate orientation.
Normalising the license plate
The next step is the character segmentation: after the extracted license plate image is normalised, the individual characters has to be distinguished (segmented) from each other. Segmentation becomes difficult when the plate is not clear, the characters are touching each other, there are screws or strong light-effects (like shadows) on the plate, etc.
Segmenting the characters of the license plate
When the characters are properly segmented (separated from each other and precisely localised) there is time to invoke the character recognition algorithm for each individual segmented character image. The output of each character recognition process is the ASCII code of the given character image. By recognising all characters after each other, the entire plate text is read.
Recognising each character
And the output of the LPR Software, the license plate number in ASCII is received.
Again, the License Plate Recognition Software is not a stand-alone software, instead a "recognition engine", a library of functions that can be integrated into Complete License Plate Recognition Systems.
The License Plate Recognition Software therefore should have an Application Programming Interface (API). The API is a series of functions that application programs can use to make the license plate recognition software do the painful work of recognition. It provides an interface between the processes of the application and the core image recognition tasks of license plate recognition.
In order to work with the API - to develop applications using the functions offered by the API - software developers need proper documentation, sample codes and program tools for the API. The collection of this documentation, set of programs and tools are called Software Development Kit (SDK).
The License Plate Recognition Software Development Kit thus should include everything developers need to write, build, test, and deploy license plate recognition enabled applications.