License Plate Recognizer
A MATLAB image-processing pipeline that reads European license plates, identifies the issuing country from the EU strip, and stays robust to Gaussian noise — classic computer vision, no learned model.
Project Documentation
Open in new tabLicense Plate Recognizer
Final project for the Industrial Vision course at the Universitat de les Illes Balears. A MATLAB pipeline that reads European license plates from images, identifies the issuing country from the EU strip, and reports the detected plates together with per-country totals — working both on clean images and on images corrupted with Gaussian noise.
About
The recognizer is built entirely around classic image-processing operators rather than a learned model, so it is fully deterministic. The pipeline runs in stages:
- Preprocessing — Gaussian noise is removed with a 3×3 mean filter using symmetric padding.
- Segmentation — the RGB image is thresholded into a white mask (the plate background) and a blue mask (the EU country strip).
- Region extraction — the largest white connected component gives the plate region and the largest blue one the country strip; the plate crop is inverted so the dark characters can be analysed.
- Country identification — the blue-strip components are filtered by area (to drop the stars) and eccentricity (to drop the thin bands); the number of remaining letters and the Euler number of the first one classify the plate as
D,PLorGB. - Plate reading — the plate components are filtered by area (the first three are letters, the last four digits) and each character is identified from its Euler number, telling
1and7apart by their extent. - Output — the intermediate masks and crops are saved per image, and every detected code is collected into a summary with per-country totals.
Executing the project
Requires MATLAB with the Image Processing Toolbox.
- Clone the repository and open its folder in MATLAB so the relative paths resolve.
- Run
main.mfrom the repository root.
The detected codes are printed to the console, the intermediate images are saved under output/, and a summary of all plates and per-country totals is written to output/plates.txt. A detailed write-up of the method, parameter choices and results is available in the project report.