CS585 Final Project

CS585 Final project
Guangxing Ren
Teammate Xi You Jiafei xue

Problem Definition

We try to regonize the letter and number of a lisence plate. This is method is widely used all around the world these day as parking lot, police all need a way to identify lisence plate

Pre-process: Training

For the first step, for k-nearest neighbors algorithm, we train the data for classification and image. We input a template that contain all the numbers and letter that lisence plate possibly contain.

This is a example of our training process. For this case, we should type R so that later KNN will recoginze image of R letter R

We then saved our classfication and image for KKN training

Overall Process

1. Load in the sample images used for K nearest computation, in our case K = 1. 2. Plate Detecting, we need to locate the region of the plate we are going to recognize. 3. At last we try to get the content of the plate.

Plate Detecting

1. Basic treatment of the original image – gray-scaled, threshed. PS: we extract value channel only from original image to get gray-scaled image (change the color space, then split it, return the one we want). We use morphological operations to max the contrast and gaussian blur the image then apply threshold on it. 2. We used the threshed image and find all possible chars that can be a part of the plate in it. Function: possiblecharDetecting(cv::Mat)

Prcess image

input image grey scale contour potential chars potential plate grey scale plate



Trial Source Image Result output
trial 1
trial 2
trial 3


  • Our method can detect most of the car plate and get most of the char correctly, however, if the car plate is too far or too close we can't detect it correctly.
  • For the future work, we are consider detecting car plate in video even in fast motion(in highway)

  • Conclusions

    For the whole program, not many sophisticated algorithms are involved. But the process shows us how to apply simple concepts in a practical issue. Apparently, this is no easy, a lot of details are involved in the approaching. Some steps seem to be insignificant but we are enable to get the correct result if we handled them incorrectly. So, when we are facing a practical problem in the real world, things can be becoming complicated even if the fundamental concept is very simple.

    Credits and Bibliography

    Plate Detection and Recognition of Iraqi License Plate Using KNN Algorithm ,Abdul Hadi Mohammed Alaidi https://www.researchgate.net/publication/315380660_Plate_Detection_and_Recognition_of_Iraqi_License_Plate_Using_KNN_Algorithm A Hybrid KNN-SVM Model for Iranian License Plate Recognition Sahar S.Tabrizi https://www.sciencedirect.com/science/article/pii/S1877050916326278

    Teammate: Jiaxue Xue, Xi You