Project Name : License Plate Recognition System (LPR)
~ Apr - 12 - 2025
A License Plate Recognition System (LPRS) is a computer vision-based application that detects and recognizes vehicle license plates automatically from images or live video.
The provided system integrates YOLOv8 for plate detection, EasyOCR for text recognition (supports Bangla & English), and a Tkinter GUI for user interaction. It also connects to an Excel database to fetch vehicle details once a plate number is recognized.
Real-time Detection → Uses YOLOv8 for accurate plate localization.
OCR Support → Recognizes both Bangla and English digits using EasyOCR.
Interactive GUI → Tkinter-based interface with dark/light mode.
Multiple Camera Support → Select different cameras from dropdown.
Auto & Manual Capture → Automatic plate detection every few frames or manual capture option.
Database Integration → Looks up recognized plates in Excel file (vehicle_database.xlsx).
Image Display → Shows both number plate image and vehicle image if stored in the database.
Dark Mode → Saves theme preference in settings.json.
Error Handling → Alerts if no database or no record is found.
Traffic Management → Identifying vehicles breaking traffic rules.
Parking Systems → Automating entry/exit logging.
Toll Booths → Automatic billing by recognizing plate numbers.
Security Checkpoints → Identifying unauthorized or blacklisted vehicles.
Fleet Management → Tracking company vehicles efficiently.
Automation → Reduces the need for manual checks.
Accuracy → Detects and recognizes both Bangla & English digits.
Time-Saving → Real-time recognition speeds up processes.
Record Keeping → Links recognized plates with a pre-filled database.
Flexibility → Works with different cameras (local or external).
Python 3.12.4 or higher
pip (Python package installer)
Steps to Set Up and Run
Clone the Repository or download the project folder.
>> git clone https://github.com/mostofaahmed101/License-Plate-Recognition-System
>> cd License-Plate-Recognition-System
2. Prepare Database
change inside the file named vehicle_database.xlsx.
Input columns data such as:
Plate Number
Owner Name
Vehicle Model
Number plate Image
Vehicle Image and others
⚠️ Important: Input data in the database before running the system. Otherwise, recognized plates will not show details.
3. Install Dependencies
>> pip install -r requirements.txt
4. Run the App
>> python main.py
5. Use the Application
Select a camera from the dropdown.
Enable Auto Capture or press Capture Plate manually.
Detected plate will appear in the text box.
Press Continue to look up the plate in the database.
If matched, the system will display vehicle details, plate image, and vehicle image.
More about Project
Language: Python
GUI Toolkit: customtkinter (based on Tkinter)
Handling: Pillow, Yolov8, Easyocr, Pandas
opencv-python
tkinter (built-in with Python)
Pillow
easyocr
ultralytics (YOLOv8)
imutils
numpy
pandas
re (built-in)
json (built-in)
os (built-in)
For Authorities → Helps in law enforcement & vehicle tracking.
For Companies → Simplifies parking/fleet management.
For Researchers → Combines YOLOv8, OCR, and Tkinter into a real project.
For Students → A practical demonstration of AI & Computer Vision applications.
While developing this License Plate Recognition System, several skills and concepts were gained:
Computer Vision Knowledge → Learned how YOLOv8 detects objects in real time and how image preprocessing improves OCR accuracy.
OCR Integration → Understood how to use EasyOCR for recognizing both Bangla and English digits, and how to clean noisy results using regex and correction rules.
GUI Development → Practiced building a user-friendly interface with Tkinter, including dark/light mode switching and dynamic frame navigation.
Database Handling → Learned how to manage and search records in Excel with Pandas, ensuring recognized plates can be matched with vehicle information.
Error Handling & Debugging → Faced challenges such as missing database files, incorrect recognition, or camera issues, and implemented robust error messages.
Practical Application → Understood how such systems are used in real-world scenarios like traffic monitoring, parking management, and security checkpoints.
Personal Growth → Improved problem-solving, logical thinking, and gained hands-on experience combining multiple technologies into one working project.
Building this project was an insightful and rewarding experience. It not only deepened my understanding of real-world lpr applications but also allowed me to explore Python. It brings both technical and ethical satisfaction, knowing it could help people understand how it works. The project challenged me to blend backend logic, resulting in a secure, interactive, and educational tool. This project not only enhanced technical skills but also demonstrated how Artificial Intelligence and Computer Vision can be applied in solving real-world problems.
The License Plate Recognition System is an efficient, real-time solution for identifying vehicles. By integrating object detection, OCR, and a structured database, it provides a complete pipeline from recognition to information retrieval.
Proper usage requires that the vehicle database is filled first, ensuring the system can match detected plates with stored records.
Note : its a Demo project, Not for Industrial/Official uses.