Pierre-Yves Nicolas
|
dcb48b8cc8
|
CameraScreen: click on a page to open it in DocumentScreen
|
2025-06-24 12:24:17 +02:00 |
|
Pierre-Yves Nicolas
|
ef2a49cf76
|
CameraScreen: LazyRow with list of pages
|
2025-06-24 10:37:38 +02:00 |
|
Pierre-Yves Nicolas
|
e894c14260
|
New UX on capture: freeze preview, no more dialog
|
2025-06-23 20:59:18 +02:00 |
|
Pierre-Yves Nicolas
|
f0b6dd400b
|
Rename Camera.kt to CameraScreen.kt
|
2025-06-23 13:42:36 +02:00 |
|
Pierre-Yves Nicolas
|
765d8503b5
|
Refactoring: move camerax code to a new file
|
2025-06-23 13:37:41 +02:00 |
|
Pierre-Yves Nicolas
|
b8a8e6f2f3
|
Segmentation model v0.3: DeepLabV3plus/MobileNetV2
Inference time decreased from 400 to 200ms
|
2025-06-23 08:12:26 +02:00 |
|
Pierre-Yves Nicolas
|
87a8d39669
|
End capture process correctly in case of error
|
2025-06-22 12:08:57 +02:00 |
|
Pierre-Yves Nicolas
|
f550683786
|
Close captured ImageProxy (otherwise: subsequent captures freeze)
|
2025-06-22 12:07:58 +02:00 |
|
Pierre-Yves Nicolas
|
ff0c3c02e6
|
DocumentScreen: Button to start a new document
|
2025-06-21 18:39:09 +02:00 |
|
Pierre-Yves Nicolas
|
8ed04238fb
|
Avoid a possible crash when deleting an image
|
2025-06-21 17:34:31 +02:00 |
|
Pierre-Yves Nicolas
|
60d5bc51ef
|
DocumentScreen: make the image zoomable
|
2025-06-21 15:39:33 +02:00 |
|
Pierre-Yves Nicolas
|
5b777e5edc
|
Width/height for the document: use avg rather than max
|
2025-06-21 14:45:30 +02:00 |
|
Pierre-Yves Nicolas
|
cf1dc97b7e
|
Pause live analysis when displaying a capture
|
2025-06-21 13:15:53 +02:00 |
|
pynicolas
|
0ea4132d37
|
Make gradle download the TFLite segmentation model (#8)
|
2025-06-21 13:01:05 +02:00 |
|
Pierre-Yves Nicolas
|
7056393f56
|
Save about 400ms at capture by delegating the rotation to OpenCV
|
2025-06-19 19:24:01 +02:00 |
|
Pierre-Yves Nicolas
|
453a8b3fb0
|
Use a lock to ensure only one segmentation is run at a time
|
2025-06-19 19:22:22 +02:00 |
|
Pierre-Yves Nicolas
|
0c5a219783
|
New segmentation model
|
2025-06-19 15:34:43 +02:00 |
|
Pierre-Yves Nicolas
|
e3ada11c8c
|
Basic postprocessing with OpenCV
|
2025-06-14 14:39:55 +02:00 |
|
Pierre-Yves Nicolas
|
5f4293d745
|
Delete useless test
|
2025-06-11 21:18:35 +02:00 |
|
Pierre-Yves Nicolas
|
93f4c3cb17
|
Set up an instrumented test that runs segmentation on 3 images
|
2025-06-10 14:19:50 +02:00 |
|
Pierre-Yves Nicolas
|
ea0e40d13e
|
DocumentScreenPreview: use the app theme
|
2025-06-09 17:49:40 +02:00 |
|
Pierre-Yves Nicolas
|
d9a03c7131
|
CameraScreen: set up a Preview to make it easier to work on the layout
|
2025-06-09 14:43:00 +02:00 |
|
Pierre-Yves Nicolas
|
271f047c9d
|
CameraScreen: better capture button
|
2025-06-08 20:14:01 +02:00 |
|
Pierre-Yves Nicolas
|
d14de65d00
|
DocumentScreen: in page list, max size is for both width and height
|
2025-06-08 20:13:14 +02:00 |
|
Pierre-Yves Nicolas
|
9c5f2bc481
|
Icon for "save"
|
2025-06-08 17:56:18 +02:00 |
|
Pierre-Yves Nicolas
|
44565e883f
|
Use a floating action button to delete a page
|
2025-06-08 17:56:18 +02:00 |
|
Pierre-Yves Nicolas
|
840c2f1233
|
DocumentScreen: highlight which page is currently selected
|
2025-06-08 17:56:13 +02:00 |
|
Pierre-Yves Nicolas
|
a855dca5a8
|
DocumentScreen: button handlers
|
2025-06-07 16:55:37 +02:00 |
|
Pierre-Yves Nicolas
|
2b1b537f67
|
DocumentScreen layout: big image + miniatures
|
2025-06-07 16:55:37 +02:00 |
|
Pierre-Yves Nicolas
|
5292f5bdb3
|
DocumentScreen: pages in LazyColumn
|
2025-06-07 16:55:37 +02:00 |
|
Pierre-Yves Nicolas
|
b3d13d98bc
|
Create preview for DocumentScreen
|
2025-06-07 16:55:37 +02:00 |
|
Pierre-Yves Nicolas
|
276209a74a
|
CameraScreen: fix NPE
|
2025-06-07 16:32:54 +02:00 |
|
Pierre-Yves Nicolas
|
d960a3d045
|
Add license header to kotlin files
|
2025-06-06 13:29:07 +02:00 |
|
Pierre-Yves Nicolas
|
6388e96cc7
|
Ensure that all kotlin files have a license header
|
2025-06-06 13:29:02 +02:00 |
|
pynicolas
|
e9f5ec2cf0
|
Fix CI command: clean check assembleRelease
|
2025-06-05 21:15:55 +02:00 |
|
pynicolas
|
1ea7e25d58
|
Set up CI with GitHub Actions
|
2025-06-05 13:28:00 +02:00 |
|
Pierre-Yves Nicolas
|
88e56a0ec4
|
Reduce APK size by removing x86 and minifying
|
2025-06-05 10:13:33 +02:00 |
|
Pierre-Yves Nicolas
|
6a90723fb3
|
Rely on PDFBox-Android to reduce the size of generated PDFs
|
2025-06-04 18:22:57 +02:00 |
|
Pierre-Yves Nicolas
|
ebd5453b65
|
Ability to delete one of the scanned pages
|
2025-06-04 16:41:38 +02:00 |
|
Pierre-Yves Nicolas
|
a6e1d8cc51
|
Add back the "Share" button
|
2025-06-04 15:44:02 +02:00 |
|
Pierre-Yves Nicolas
|
80381eef6c
|
Store images on the file system rather than in memory
|
2025-06-04 15:16:48 +02:00 |
|
Pierre-Yves Nicolas
|
aea72aac11
|
Finalize screen: display images in a FlowRow
|
2025-06-03 16:09:10 +02:00 |
|
Pierre-Yves Nicolas
|
fd8c26da7f
|
CameraScreen: avoid losing state in case of configuration change
|
2025-06-03 14:46:12 +02:00 |
|
Pierre-Yves Nicolas
|
c6d77d14f0
|
Rename CameraScreenState to LiveAnalysisState
Remove unused fields
|
2025-06-03 13:07:33 +02:00 |
|
Pierre-Yves Nicolas
|
95ae4fcea3
|
Multi-page step 2: FinalizeDocumentScreen
|
2025-06-02 21:27:50 +02:00 |
|
Pierre-Yves Nicolas
|
0b76c3fc1e
|
Multi-page step 1: PageValidationDialog
|
2025-06-02 16:51:52 +02:00 |
|
Pierre-Yves Nicolas
|
86f5b27093
|
Feature: save PDF to device
|
2025-06-01 20:21:34 +02:00 |
|
Pierre-Yves Nicolas
|
ba2a9cf8fd
|
Resize and compress bitmaps to decrease PDF size
|
2025-06-01 17:40:43 +02:00 |
|
Pierre-Yves Nicolas
|
fee1e48b6d
|
Adjust layout
|
2025-06-01 14:57:51 +02:00 |
|
Pierre-Yves Nicolas
|
fe409acf47
|
Remove calls to deprecated APIs
|
2025-06-01 09:02:44 +02:00 |
|