VGU THESIS - Business Card Detection based on Artificial Intelligence
This repository contains an implementation of a system that can digitalize business cards and save the details into a contact list of the Android Operating System. The system has a client-server architecture where the client-side is the Android application and the server provides API using Flask.
The server provides service for text-line detection and text-intent classification.
- Docker
- docker-compose
Following installation step from previous links to install Docker on your system.
On Windows and MacOS version of Docker desktop have included Docker-compose.
Run this command to download the current stable release of Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Apply executable permissions to the binary:
sudo chmod +x /usr/local/bin/docker-compose
After successfully installing Docker and running Docker Daemon, open command prompt and run the following command on the root directory to create an environment for server:
docker-compose up
Wait until Docker's containers finish creating the environment, go to localhost:8080
http://thesis.tkhco.com.vn:8080
Android application handle business card image processing, text recognition and save contact details.
- JDK (8)
- OpenCV SDK(4.1.0)
- Android Studio (3.3.2)
- SDK (minSDK level 24)
- NDK (20.0.5594570)
- CMake
JDK 8 is necessary for Java development in Android Studio, the compiler can be installed from Oracle's website after accepting their license agreement.
OpenCV SDK can be downloaded from here.
Latest Android Studio for different platforms can be found here.
Three of them can be installed by going to Tools->SDK Manager. In Android SDK select SDK Tools tab. Then select suitable version for Android SDK Build-Tools, Android SDK Platform-Tools, Android SDK Tools, NDK and CMake.
Open CMakeLists.txt and change the first two paths which are paths of project and OpenCV SDK. For the Project path will be specific_location/CardScanner/app and for OpenCV path will be specific_location/opencv-4.1.0-android-sdk/OpenCV-android-sdk/sdk/native/jni/include.
- Go to Build -> Select Build Variant and then select build variant you want to build for the app module.
- Go to Build -> Generate Signed Bundle or APK, select APK option and then press NEXT button.
- Next, you have to create a new key store or you can choose exisiting key in the repo, which has both passwords is 123456789, and key alias is key0.
- Then, choosing destination folder for the APK and select release build variant. Finally, select both V1 (Jar Signature) and V2(Full APK Signature), and press the FINISH button.
- By default destination, the APK will be placed here.