ethereal-developers / OpenScan

A privacy-friendly Document Scanner app
BSD 3-Clause "New" or "Revised" License
1.47k stars 84 forks source link

Page recognition never works properly #86

Open bratekarate opened 2 years ago

bratekarate commented 2 years ago

I have used this app a lot, since it is open source and I want to support it. However, It never correctly recognized the actual document borders. Not once in about 100 scans. I went through the trouble of manually selecting the document many times -- but I canont do it anymore. It's just too much work.

Is this expected behaviour? None of this is documented or reported as a Github Issue, which is hard for me to believe since multiple reviews on the Play Store mention it. If this is a shortcoming -- fair enough, it's an open source project. But this should definitely be documented, to prevent dissappointment in this open source project.

If this is rather an isolated issue that me and a handful of others are experiencing, it would be great to know how to troubleshoot it. There are no "settings" in the app, hence I'm unsure how to change any configuration.

Otherwise a great app -- although I only use it to take pictures and group them in Folders/Create PDFs for now, although it is a scanner app. I want to give this app as many chance as possible, but at some point I may have to switch back to properly functioning proprietary solutions.

Since I am a Java Developer I may also be able to contribute to a bugfix if pointed in the right direction.

mi-girl commented 2 years ago

Yes, same issue. Otherwise the app is great. I am afraid the fix will not be so easy. It needs some kind of AI I guess.

veejayts commented 2 years ago

The edge detection is kind of tricky. In the live version OpenCV is being used through JNI on the android side of implementation to execute the C++ code which detects the edges.

We are refactoring it to directly use the java implementation of OpenCV but our testing has shown little improvements over the existing edge detection. So we are implementing and testing alternatives such as BoofCV.

Alternatives/suggestions are welcome.

We are also refactoring the code to make it more friendly to contributions, but as you may be able to tell, all of these are huge tasks.

m1m1k commented 1 year ago

Agreed +1 on this. Its not just that it doesn't get the edges right, opens can just fails every time I don't have a perfectly rectangular page.
Use case/repro : I'd like to scan my post/mail documents, which are always usually folded to fit inside envelopes. I take out the papers, unfold the and try to straighten. I then try to get good lighting, and place them very flatly on the counter.

I then scan the doc, and instead of just failing edge detection, it quits and restarts the entire app almost every time. Its suuuuuper painful and makes the app unusable in almost all cases.

Even when its a 8.5x11 or A4 printed document it still has trouble, even in good lighting. I noticed that its exceptionally buggy when I'm trying to scan the top paper of a stack (then the edges are not 100% perfect, as there are edges from papers underneath not perfectly aligned). Also receipts from restaurants and gas stations often have a ripped edge - which also causes failure