Top-tier OpenCV document scanner with Flutter frontend
-
There are two parts: frontend (Flutter GUI) and backend (Flask Server).
-
This application works only within one network.
-
Backend does all the image processing and is required to be up and running.
-
Fetch
backend
from Releases. -
Install Python 3.7.
-
Upgrade
pip
:pip3 install --user --upgrade pip
-
Pull
libmagic
:
- Windows x64: I’ve got you covered there
- Debian/Ubuntu:
sudo apt-get install libmagic1
- Mac:
brew install libmagic
- Install
make
:
- Windows x64:
- Debian/Ubuntu:
sudo apt-get install build-essential
- Mac:
xcode-select --install
- Go to
backend
folder, open a console there and runmake install
- Fetch
app-*-release.apk
from Releases (where*
is your processor architecture) and install it.
-
Start the backend with
make run
. -
Start the frontend. The application will request STORAGE and CAMERA permissions on the first run – grant them. The frontend will connect to the backend in ~3s (if not already).
-
You'll see a button at the bottom of the screen. Tap it to take a photo with your camera. Alternatively, you can long-press this button and it'll allow you to select a photo from the gallery (an icon on the button will change).
-
After you've taken a photo, the application will send it to the backend and wait for it to respond with a scanned variant. Result will be shown in a "Preview" window.
-
You can discard a result by tapping the left button on the top bar (or going back) or save it to the gallery by tapping the right button on the top bar.
Distributed under the GPL-3.0 license. See LICENSE
for more information.