University of Tartu, Institute of Computer Science

Course: Introduction to Intelligent Transportation Systems Project: Automatic Plate Number Recognition (APNR) Student: Leonid Dashko



Load image


Apply blur filter (to remove noise)


Convert blurred image to grayscale


Apply Sobel filter to find vertical edges (car plates have a high density of vertical lines)


Apply threshold with Ostu’s Binarization

(Ostu’s binarization will automatically calculate optimal threshold from image histogram)

APNR: STEP #6 (Morphological filters in OpenCV)


Then I created a rectangular mask of size of 17x3 and applied “closing” filter (shown on the right) to detect plate number more clearly



Find and fetch contours of possible plates


Validate contours and clear out those, that can't be potential plate numbers - Is white color dominant?

- Rotated not more than 15 degrees - In Europe, car plate size: 52x11, aspect 4,7272 - Define min && max area of plate number 9)

After (8), apply “dilate” filter and threshold to validated contours to get numbers and characters

APNR: STEP #9 in details

APNR: STEP #10 (parse plate number from image)

10) Apply Tesseract to extract plate number as a text. Tesseract is an optical character recognition (OCR) engine sponsored by Google

APNR: Final Result

Thank you for attention!

Course: Introduction to Intelligent Transportation Systems - GitHub

... Introduction to Intelligent Transportation Systems. University of Tartu, Institute of Computer Science. Project: Automatic Plate Number. Recognition (APNR).

610KB Sizes 3 Downloads 155 Views

Recommend Documents

pdf-1462\intelligent-transportation-systems-from-good-practices-to ...
Try one of the apps below to open or edit this item. pdf-1462\intelligent-transportation-systems-from-good-practices-to-standards-from-crc-press.pdf.

pdf-0882\human-factors-in-intelligent-transportation-systems-human ...
... loading more pages. Retrying... pdf-0882\human-factors-in-intelligent-transportation-sy ... ctors-in-transportation-from-brand-psychology-press.pdf.

122COM: Introduction to C++ - GitHub
All students are expected to learn some C++. .... Going to be learning C++ (approved. ). ..... Computer Science - C++ provides direct memory access, allowing.

JavaScript Crash Course - GitHub
Nov 10, 2016 - 1Info on this slide from: ..... Google (you are smart, figure it out).

Introduction - GitHub
software to automate routine labor, understand speech or images, make diagnoses ..... Shaded boxes indicate components that are able to learn from data. 10 ...... is now used by many top technology companies including Google, Microsoft,.

Introduction - GitHub
data. There are many ways to learn functions, but one particularly elegant way is ... data helps to guard against over-fitting. .... Gaussian processes for big data.

pdf-0940\intelligent-freight-transportation-automation-and-control ...
Try one of the apps below to open or edit this item. pdf-0940\intelligent-freight-transportation-automation-and-control-engineering-by-petros-a-ioannou.pdf.

Introduction to RestKit Blake Watters - GitHub
Sep 14, 2011 - Multi-part params via RKParams. RKParams* params = [RKParams paramsWithDictionary:paramsDictionary];. NSData* imageData .... This is typically configured as a secondary target on your project. // Dump your seed data out of your backend