- Uses haarcascade classifier to detect cars.
- Uses tesseract to detect text.
- Uses openCV for image manipulations and enhancements.
- Uses firebase cloud firestore as a database (main_firebase.py) - online.
- Uses firebase cloud storage to store car images (main_firebase_image.py) - online.
- Uses ibm db2 cloud database (main_ibm_db2.py) - optional.
- Uses sqlite database (main_sqlite.py) - local.
- Can just view and save overspeeding car image (main_saveimage.py) - optional.
- Uses twilio to send SMS.
- Uses multithreading to execute speed detection, license detection and storing data in parallel.
- A single webpage to view the data in firestore collection/table along with the car image.
- contains following fields/columns - {'date', 'time', 'speed', 'licNo', 'licError'}
- main_firebase_image.py contains an additional 'imageLink' field.
*Knowledge of firebase Required.
- Create a firestore project and database service.
- C colletion 'overspeed' will be created automatically while running .py file. (Can change it)
- Get your api-keys/credentials in json format for your project and replace with .json file. (from firebase project settings)
- Create a firebase cloud storage instance as well (for images) and make the bucket public. (google it!)
- Stores the same details as firebase except images in the local sqlite database. (files/vsdlpr.sqlite)
- Stores the same details as firebase except images in the ibm Db2 Cloud database.
- Use main_saveimage.py to view the video and detection, along with estimated speed.
- Send SMS part requires a separate table with owner details and corresponding license number.
- Owner Details part isn't implemented yet, function is provided.
- Webpage has no backend can be hosted easily on github etc.
- Webpage also requires firestore credentials, can be obtained from project settings.
- Don't host if database in test mode. it will give anyone access to database!!
- License plate detection is often inaccurate.
- The license image obtained is low contrast, and low res around 20 by 50 px, if using 1280 by 720 video.
- Thus text recognition is so far impossible.
- Check my other repositories for code for License plate Recognition.