Algerian vehicle number plate recognition with data extraction using Python's openCV and easyOCR
# Enhanced ANPR for Algerian plates
Algerian automatic vehicle number plate recognition with data extraction using Python's openCV and easyOCR without any Machine Learning, with a custom algorithm that enhances and corrects the values detected for low-quality images.
The **main idea** is to find the plate, crop it, zoom it and apply easyOCR methods ( reader.recognize() & reader.readtext() ) to read the digits and then send the 2 results to the algorithm to process them, fix common errors and output the most accurate plate number to finally extract information about the car.
## Examples:
## Algerian registration plates facts:
+ Being composed solely of numbers, they are one of the few vehicle registration plates which can accurately be referred to as '**number plates**'.
+ The registration mark takes the form of three groups of digits separated by a space.
- The **first group** of numbers comprises 5 or 6 digits that make up the vehicle's actual registration/serial number.
* The **second group** of numbers is always composed of 3 digits, the first one indicating the class of the vehicle in accordance with the following list:
1. Private Vehicles.
2. Trucks.
3. Vans (Camionettes).
4. Buses.
5. Tractor units.
6. Other Tractors.
7. Special vehicles.
8. Trailers.
9. Motorcycles.
- The other 2 digits represent the year in which the vehicle was manufactured, for ex: 99 = 1999, 06 = 2006 ..etc.
- If the second ( middle ) group contains "00" it means the car is newly purchased and has a temporary plate.
- The **third group** of numbers contains 2 digits representing the wilaya (city) or province where the vehicle was first registered ( from 01 to 58 ).
-
**Example:**
More info can be found here or here.
## Requirements and limitations:
- The image needs to be captured with a decent quality ( since we'll be zooming on the plate only ).
- It's made to detect only 1 plate in a picture.
- The plate needs to be a rectangle ( the logic for custom plates with two lines is …