Git Product home page Git Product logo

breta01 / docus Goto Github PK

View Code? Open in Web Editor NEW
51.0 4.0 7.0 230.89 MB

Android application for scanning and managing documents.

Home Page: https://play.google.com/store/apps/details?id=com.bretahajek.docus

License: GNU General Public License v3.0

Java 38.21% HTML 0.08% CMake 3.12% C++ 55.25% Makefile 0.06% C 3.17% Objective-C 0.09% Ruby 0.01% AIDL 0.01%
android opencv computer-vision scanner scanner-cam application scanner-app docus scanning android-application

docus's People

Contributors

another-sapiens avatar atrate avatar breta01 avatar dependabot[bot] avatar karthick47v2 avatar the7thnightmare avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

docus's Issues

Migrate to latest CameraX

Update application to use latest CameraX and fix all API changes.

There are some issues with current CameraX version which should be fixed by latest version. Therefore we need to update the CameraX version. There are some API changes which need to be addressed in the code.

Related issue: #20
There is some initial version of update in: #21

Share with Docus

Currently, Docus does not appear in the list of apps that you can share an image with. This goes with #34 as you'd be able to select an image or multiple images in the gallery and share them with Docus to scan them.

slashes (/) in document names

The app allows document names to include forward slashes (eg 'document1/2'). However, documents with names including forward slash(es) are not handled correctly.
In my example, the image(s) is placed in the directory '2-[timestamp]' inside the directory 'document1'. On selecting 'export', the app displays a loading icon indefinitely.

The app should either disallow slashes in document names, or handle those documents correctly.
Not all users are familiar with *nix file name patterns, and archival document names often contain one or more slashes.

Using machine learning of page detection

Using ML for detection of edges of page would be great. There are different approaches to that. This method should keep in mind:

  • The edges should be displayed in real time
  • No need for internet connection

Other ideas for improving detection:

  • Providing templates (A4, square, maybe scale with different ratios)
    • Template defines definite background/foreground and unknown area

CC license "not recommended" for software

Hi,

not sure if you are aware:

CC licenses are not recommended for software.

From the FAQ:

Can I apply a Creative Commons license to software?

We recommend against using Creative Commons licenses for software. Instead, we strongly encourage you to use one of the very good software licenses which are already available. We recommend considering licenses listed as free by the Free Software Foundation and listed as “open source” by the Open Source Initiative.

Unlike software-specific licenses, CC licenses do not contain specific terms about the distribution of source code, which is often important to ensuring the free reuse and modifiability of software. Many software licenses also address patent rights, which are important to software but may not be applicable to other copyrightable works. Additionally, our licenses are currently not compatible with the major software licenses, so it would be difficult to integrate CC-licensed work with other free software. Existing software licenses were designed specifically for use with software and offer a similar set of rights to the Creative Commons licenses.

Version 4.0 of CC’s Attribution-ShareAlike (BY-SA) license is one-way compatible with the GNU General Public License version 3.0 (GPLv3). This compatibility mechanism is designed for situations in which content is integrated into software code in a way that makes it difficult or impossible to distinguish the two. There are special considerations required before using this compatibility mechanism. Read more about it here.

Also, the CC0 Public Domain Dedication is GPL-compatible and acceptable for software. For details, see the relevant CC0 FAQ entry.

While we recommend against using a CC license on software itself, CC licenses may be used for software documentation, as well as for separate artistic elements such as game art or music.

https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software

Flashlight support

Add flashlight support for improving page detection and image enhancement. Idea:

  • Add button for turning flashlight on/off
  • Try making two images flashlight on and off. Then combine images for better results

First option is preferred, because I want to be able to see detected edges before making actual photo. Second option would have to be only optional switch which can be viewed once the photo is taken.

For participating in Hacktoberfest: I imagine adding flash icon to CameraFragment. There should be to option on/off. When ON, the flashlight should be on the whole time.

Portuguese short description too long

Fastlane short_description.txt is limited to 80 chars. Yours for Brasilian Portuguese currently exceeds that and thus is truncated. Could you please fix that before the next release? Thanks!

A possible suggestion (I don't speak the language so I'm not 100% sure) would be:

Digitalize os seus documentos em papel e organize-os de forma rápida e simples

Delete doc

FATAL EXCEPTION: pool-1-thread-1
Process: com.bretahajek.docus, PID: 7450
java.lang.NoSuchMethodError: No virtual method toPath()Ljava/nio/file/Path; in class Ljava/io/File; or its super classes (declaration of 'java.io.File' appears in /system/framework/core-oj.jar)
at d.a.a.a.b.b(:1)
at c.b.a.f.run()
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:760)

Android : 7.1.2
Miui 11.0.2

Manual cropping

Cropping is arguably the most essential feature of a scanner app, other than scanning documents. The app is doing the cropping on its own, which doesn't really come out good often. Being able to crop the images manually, though still with image recognition (so that the whole side of the rectangle would be moving to the line the paper makes with the background when I move a corner of the cropping rectangle) would be super useful.

Pages added to wrong document

I scanned a document with two pages and then I scanned another two page document, but assigned it the same name. This created some confusion in the app which caused the second page of the second document to be added to the first document instead.

Export doesn't work on Huawei P9

Huawei P9
My Model number is EVA-L09
EMUI version: 5.0.4
Android Version: 7.0

Export function of document doesn't work on this phone.

Set up continuous integration

Use CI to speedup the release process.
Any tips are welcomed as well

I ideally imagine using Github actions. The action should do following:

  • Get triggered on new release (maybe tag) created
  • Build the application in two configurations (app-release-arm.apk and app-release-multiarch.apk)
    • Upload them to newly created release
  • Create app bundle which will be uploaded to google play and create new release (Ideally using fastlane)

This will require some actions on my side as well. And I am prepared to cooperate on that.

This blog post could be useful.

APK Download

Would you mind providing the (signed) APK for download (ideally attached to its corresponding release) so users could give it a try? Would also be interesting to know the app's requirements (does it e.g. depend on OpenCV already being available on-device). Thanks!

feature request: enhance edge contrast in pictures

To get better document pictures I suggest to implement an edge enhancement algotithm, that would also allow PNG compression of image if black and white.

Something like is implemented in open document scanner

By the way, this app works very well in detecting the edges of the document. thank you for the good work

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.