The purpose of this project is to develop a robust and accurate Car License Plate Recognition (LPR) system. The system will be designed to automatically detect and recognize license plates from images, providing valuable applications in security, law enforcement, parking management, and more, we will mainly focus on the parking management application for this project.
Provide a more detailed overview of your project. Explain its purpose, features, and any other relevant information.
List the libraries used in your project and their purposes:
- NumPy: Used for numerical operations and array manipulation in Python.
- OpenCV (cv2): Employed for computer vision tasks like image processing, video capture, and manipulation.
- Math: Standard Python library for mathematical operations.
- scikit-learn (sklearn): Used for machine learning tasks, including the K-Nearest Neighbors (KNN) classifier.
- Numba: Utilized for JIT (Just-In-Time) compilation to optimize performance in specific functions.
- scikit-image: Leveraged for image processing tasks, including contour finding and drawing shapes on images.
- PySimpleGUI: Employed for creating a graphical user interface (GUI) for the application.
- PIL (Python Imaging Library): Used for opening, manipulating, and saving various image file formats.
- Other libraries used in your project
Ensure you have Python installed on your system. Then, run the following commands in your terminal to install the required libraries:
pip install numpy
pip install opencv-python
pip install scikit-learn
pip install numba
pip install scikit-image
pip install PySimpleGUI
To run the application:
- Clone this repository to your local machine.
- Navigate to the project directory.
- Ensure you have Python installed.
- Install the necessary dependencies (as mentioned in the Installation section).
- Run the main script to start the application.
python UI.py
Upon launching the application, follow these steps:
- Launch the Application: Execute
UI.py
to start the application. - Image Selection: The GUI will appear, presenting options to select an image.
- Select Image: Click on the 'Browse' button to choose an image file containing a vehicle and its license plate.
- Image Processing: The application will process the image, perform license plate recognition, and display the result.
- Result Display: The recognized license plate characters will be presented in the 'Processing Result' section of the GUI.
- LED Indicator: An LED indicator will show 'Allowed' or 'Banned' based on a predefined comparison array.
Contributions to this project are highly appreciated. To contribute:
- Fork the Repository: Fork this repository on GitHub.
- Create a New Branch: Create a new branch for your feature or bug fix.
- Make Changes: Implement your changes and ensure they are properly tested.
- Commit Changes: Commit your modifications with clear and descriptive commit messages.
- Push Changes: Push your changes to your forked repository.
- Open a Pull Request: Submit a pull request to the
main
branch of this repository for review.
This project is licensed under the MIT License. Feel free to modify and distribute it under the terms of this license.