You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
An app to scan license plate images and extract vehicle details.
2
+
An Android application that scans Indian license plate images and extracts the details of the vehicle from the national vehicle registry, VAHAN.
4
3
5
4
Status: _In progress_
5
+
## Description
6
+
The app can capture an image using the device camera or choose an image from the device’s gallery which can be cropped as per the user’s preference.
7
+
This image is then processed using OpenCV for Java. This involves:
8
+
* Extracting the license plate from the image
9
+
* Conversion of image to greyscale
10
+
* OpenCV operations such as erosion and dilation to aid character segmentation
11
+
* Conversion of image to binary
12
+
* Finding the contour of each character present in the license plate
13
+
* Cropping the license plate to get individual images for each character
14
+
15
+
The processed images are sent to the Tensorflow deep learning model which performs optical character recognition to identify the license plate number.
16
+
> Presently, the deep learning model used in the project gives an incorrect prediction of the license plate number.
17
+
18
+
Next, the user is redirected to the page which displays the [VAHAN website](https://vahan.nic.in/nrservices/faces/user/login.xhtml), where the detected license plate number can be used to obtain details such as vehicle model, fuel type, manufacturer details, among others.
19
+
## To import the project into Android Studio
20
+
1. Open Android Studio, click **File --> New --> Project from Version Control**.
21
+
2. Choose Git from the Version control dropdown.
22
+
3. Copy the hyperlink present when you click on the Code button in the repository and paste in the URL tab.
23
+
4. Click Clone.
24
+
5. Sync project and run.
25
+
## System requirements
26
+
Android Studio – this project was built on version 4.1.0
27
+
28
+
Git installed on the device.
29
+
30
+
External library – OpenCV (see [Enabling OpenCV](https://github.com/Jyotsna-Shetty/VehicleInfoCheck#enabling-opencv))
31
+
32
+
RAM – preferably 8 GB and above (users with 4 GB RAM will have issues running the emulator).
33
+
34
+
Available disk space – 8 GB and above (IDE + Android SDK + Android Emulator).
35
+
36
+
Operating system:
37
+
* 64-bit Microsoft Windows 8/10
38
+
* MacOS 10.14 (Mojave) or higher
39
+
* 64-bit Linux distribution that supports Gnome, KDE, or Unity DE; GNU C Library (glibc) 2.31 or later
40
+
41
+
Processor – 2nd generation Intel Core or newer.
42
+
43
+
Complete list of system requirements for Android Studio can be found [here.](https://developer.android.com/studio)
44
+
### To run the app on an Android phone, the requirements are:
45
+
Android version – 5.0 (Lollipop, API 21) and above.
46
+
47
+
Available storage space on device – 50 MB +
48
+
## Enabling OpenCV
49
+
1. Open `build.gradle` from the OpenCV library module present in the Project panel of Android Studio, check if the `compileSdkVersion` and `targetSdkVersion` match the version in your PC. If not, change it to your version.
50
+
2. Go to **File --> Sync project with Gradle files**. The library should now be visible in the Android panel of Android Studio.
51
+
## Folders
52
+
### app
53
+
This folder contains the main code and gradle file for the app, along with auto-generated .gitignore and proguard-rules files.
54
+
55
+
#### src
56
+
Contains `main` folder (all Android Studio files and folders present in it) and two test folders (not used in this project). Inside `main`, we have:
57
+
58
+
***java/com/example/vehicleinfocheck***: Contains all java classes defining the function of the app.
59
+
1. Activity classes: MainActivity- loading screen; ImageActivity- image selection and processing; WebActivity- Website display and function.
60
+
2. WebScraper and Element classes: Contain methods for accessing and displaying the website within the app.
61
+
62
+
***ml***: Contains the deep learning tflite model.
63
+
64
+
***res***:
65
+
1.`drawable`: All the pre-existing and imported drawables (images and xml) are present here.
66
+
2.`layout`: Layout files for every activity of the are present here.
67
+
3.`mipmap`: App icon files are present in these folders.
68
+
4.`font`: The fonts added manually to the project are present here.
69
+
5.`values`: Contains folders for strings, colours, dimensions and preloaded fonts.
70
+
6.`xml`: File path for saving images is present here.
71
+
72
+
***AndroidManifest.xml***: Manifest file with all neccesary information regarding the app, such as app package name, activites, permissions the app needs and content providers.
73
+
74
+
***ic_launcher_custom-playstore.png***: Logo of the app.
6
75
7
-
Presently, the app can take login credentials and can click images/take images from the device's gallery and display it.
76
+
### Gradle files and .idea
77
+
The gradle/wrapper folder, build.gradle (outside of app folder), gradle.properties, gradlew, gradlew.bat, settings.gradle, .idea are all gradles files generated by Android studio and are added to .gitignore since no changes are made to them.
78
+
### LICENSE
79
+
This project is licensed under the GNU General Public License v3.0. The file contains the complete description of the license, its permissions, limitations and conditions.
80
+
## Credits
81
+
Deep learning model used - https://github.com/SarthakV7/AI-based-indian-license-plate-detection.
8
82
9
-
To run the app on Android studio:
10
-
------------------------------
11
-
Open Android Studio --> Checkout Project from Version Control --> Choose Git --> Paste the URL of the repository --> Clone
83
+
Reference used for WebScraper class - https://github.com/Udayraj123/VehicleInfoOCR.
0 commit comments