University of Tartu, Institute of Computer Science

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

APNR: STEPS #1-5

1)

Load image

2)

Apply blur filter (to remove noise)

3)

Convert blurred image to grayscale

4)

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

5)

Apply threshold with Ostu’s Binarization

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

APNR: STEP #6 (Morphological filters in OpenCV)

6)

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

APNR: STEPS #7-9

7)

Find and fetch contours of possible plates

8)

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 372 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.

Introduction to Algorithms - GitHub
Each cut is free. The management of Serling ..... scalar multiplications to compute the 100 50 matrix product A2A3, plus another. 10 100 50 D 50,000 scalar ..... Optimal substructure varies across problem domains in two ways: 1. how many ...

Introduction to R - GitHub
Nov 30, 2015 - 6 Next steps ... equals, ==, for equality comparison. .... invoked with some number of positional arguments, which are always given, plus some ...

Introduction To DCA - GitHub
Maximum-Entropy Probability Model. Joint & Conditional Entropy. Joint & Conditional Entropy. • Joint Entropy: H(X,Y ). • Conditional Entropy: H(Y |X). H(X,Y ) ...

Introduction to phylogenetics using - GitHub
Oct 6, 2016 - 2.2 Building trees . ... Limitations: no model comparison (can't test for the 'best' tree, or the 'best' model of evolution); may be .... more efficient data reduction can be achieved using the bit-level coding of polymorphic sites ....

Introduction to Fluid Simulation - GitHub
upon the notes for a Siggraph course on Fluid Simulation[Bridson. 2007]. I also used .... “At each time step all the fluid properties are moved by the flow field u.

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.

Introduction to NumPy arrays - GitHub
www.scipy-lectures.org. Python. Matplotlib. SciKits. Numpy. SciPy. IPython. IP[y]:. Cython. 2015 ..... numbers and determine the fraction of pairs which has ... origin as a function of time. 3. Plot the variance of the trajectories as a function of t

An Introduction to BigQuery - GitHub
The ISB-CGC platform includes an interactive Web App, over a Petabyte of TCGA data in Google Genomics and Cloud Storage, and tutorials and code ...

Introduction to NumPy arrays - GitHub
we want our code to run fast. ▷ we want support for linear algebra ... 7. 8 a[0:5] a[5:8]. ▷ if step=1. ▷ slice contains the elements start to stop-1 .... Indexing and slicing in higher dimensions. 0. 8. 16. 24. 32. 1. 9. 17. 25. 33. 2. 10. 18.

Introduction to Framework One - GitHub
Introduction to Framework One [email protected] ... Event Management, Logging, Caching, . ... Extend framework.cfc in your Application.cfc. 3. Done. (or in the ... All controllers are passed the argument rc containing the request.context, and all v

introduction - GitHub
warehouse to assemble himself. Pain-staking and time-consuming... almost like building your own base container images. This piggy purchased high- quality ...

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.

Introduction - GitHub
For the case that your PDF viewer does not support this, there is a list of all the descriptions on ...... 10. Other Formats. 10.1. AMS-TEX. AMS-TEX2.0. A macro package provided by the American .... A TeX Live port for Android OS. Based on ...

JavaScript Crash Course - GitHub
Nov 10, 2016 - 1Info on this slide from: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Data_structures ..... Google (you are smart, figure it out).

Introduction - GitHub
them each year. In an aggregate travel demand model, this would be represented as 100/365.25 = 0.2737851 trucks per day. In the simulation by contrast, this is represented as ... based on the distance traveled (Table 3.3). 2FAF3 Freight Traffic Analy

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.