The goal of the project is to detect and count the number of empty spots, given an orthogonal and top-view of a car parking lot. The parking lots can also have shadows in them. Created as part of Digital Image Processing course project.
-
To capture and detect the existence of vehicles at the parking lot using image processing techniques.
-
Count, and display available parking spaces.
-
to install the required dependencies run
pip install -r requirements.txt
-
There are two approaches used.
- To run the first approach: Go to
src/Approach1/
then runfindSpace1.ipynb
thenmainImg1.ipynb
. similarly for image 2 replaing 1 with 2 in both files. - To run the second approach: Refer to the notebook
./src/Approach2/Project.ipynb
and run all cells.
- To run the first approach: Go to
-
The data required for both approaches are present in the data folder.
- numpy
- opencv-python
- matplotlib
- pickle
- cvzone (pip install cvzone)
- os: for saving the images
- collections: for queues
Testcase 1 - 15/69 empty parking spaces
Output for video input captured from a drone
Testcase 2 - 51/84 empty parking spaces
Testcase 1 - 15/18 empty parking spaces
Testcase 2 - 17/18 empty parking spaces
Testcase 3 - 39/40 empty parking spaces
Testcase 4 - Slant parking lot
Smruti Biswal - 2020112011
Eshika Khandelwal - 2020114018
Srujana Vanka - 2020102005
Shreeya Singh - 2020102011
Smruti and Srujana: Approach 1
Eshika and Shreeya: Approach 2
- Pickel documentation: Used to save positions of parking spaces in approach 1. link
- Pixel count to detect if the parking space is empty or not. link
- Capturing mouse click events with Python and OpenCV - SetMouseCallBack documentation link
- Adaptive Thresholding for detecting curves and edges. link
- Cvzone documentation: Used for displaying the pixel count over an image. link
- Parking Space Detection Using Image Processing in MATLAB (https://www.irjet.net/archives/V5/i4/IRJET-V5I4287.pdf)