开发者

Automatic Vehicle Plate Recognition system

开发者 https://www.devze.com 2023-04-05 22:12 出处:网络
I was currently doing a project on recognizing the vehicle license plate at the rear side, i have done the OCR as the preliminary step, but i have no idea on how to detect the rectangle shaped(which i

I was currently doing a project on recognizing the vehicle license plate at the rear side, i have done the OCR as the preliminary step, but i have no idea on how to detect the rectangle shaped(which is the concerned area of the car) license plate, i have read lot of papers but in no where i found a useful information about recognizing the re开发者_如何学Goctangle shaped area of the license plate. I am doing my project using matlab. Please anyone help me with this ...

Many Thanks


As you alluded to, there are at least two distinct phases:

  1. Locating the number plate in the image
  2. Recognising the license number from the image

Since number plates do not embed any location marks (as found in QR codes for example), the complexity of recognising the number plate within the image is reduced by limiting range of transformation on the incoming image.

The success of many ANPR systems relies on the accuracy of the position and timing of the capturing equipment to obtain an image which places the number plate within a predictable range of distortion.

Once the image is captured the location phase can be handled by using a statistical analysis to locate a "number plate" shaped region within the image, i.e. one which is of the correct proportions for the perspective. This article describes one such approach.

This paper and another one describe using Sobel edge detector to locate vertical edges in the number plate. The reasoning is that the letters form more vertical lines compared to the background.

Another paper compares the effectiveness of some techniques (including Sobel detection and Haar wavelets) and may be a good starting point.


I had done my project on 'OCR based Vehicle Identification'

In general, LPR consist of three main phases: License Plate Extraction from the captured image, image segmentation to extract individual characters and character recognition. All the above phases of License Plate Detection are most challenging as it is highly sensitive towards weather condition, lighting condition and license plate placement and other artefact like frame, symbols or logo which is placed on licence plate picture, In India the license number is written either in one row or in two rows.

For LPR system speed and accuracy both are very important factors. In some of the literatures accuracy level is good but speed of the system is less. Like fuzzy logic and neural network approach the accuracy level is good but they are very time consuming and complex. In our work we have maintained a balance between time complexity and accuracy. We have used edge detection method and vertical and horizontal processing for number plate localization. The edge detection is done with ‘Roberts’ operator. The connected component analysis (CCA) with some proper thresholding is used for segmentation. For character recognition we have used template matching by correlation function and to enhance the level of matching we have used enhanced database.

My Approach for Project

  1. Input image from webcam/camera.
  2. Convert image into binary.
  3. Detect number plate area.
  4. Segmentation.
  5. Number identification.
  6. Display on GUI.

My Approach for Number Plate Extraction

  1. Take input from webcam/camera.
  2. Convert it into gray-scale image.
  3. Calculate threshold value.
  4. Edge detection using Roberts’s operator.
  5. Calculate horizontal projection.
  6. Crop image horizontally by comparing with 1.3 times of threshold value.
  7. Calculate vertical projection.
  8. Crop image vertically.

My Approach for Segmentation

  1. Convert extracted image into binary image.
  2. Find in-compliment image of extracted binary image.
  3. Remove connected component whose pixel value is less than 2% of area.
  4. Calculate number of connected component.
  5. For each connected component find the row and column value
  6. Calculate dynamic thresholding (DM).
  7. Remove unwanted characters from segmented characters by applying certain conditions
  8. Store segmented characters coordinates.

My Approach for Recognition

  1. Initialize templates.
  2. For each segmented character repeat step 2 to 7
  3. Convert segmented characters to data base image size i.e. 24x42.
  4. Find correlation coefficient value of segmented character with each data base image and store that value in array.
  5. Find out the index position of maximum value in the array.
  6. Find the letter which is link by that index value
  7. Store that letter in a array.


Check out OpenALPR (http://www.openalpr.com). It recognizes plate regions using OpenCV and the LBP/Haar algorithm. This allows it to recognize both light on dark and dark on light plate regions. After it recognizes the general region, it uses OpenCV to localize based on strong lines/edges in the image.

It's written in C++, so hopefully you can use it. If not, at least it's a reference.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号