Commit Graph

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