Pre-Crop UX: User markiert handschriftlichen Bereich vor OCR #427
Labels
No labels
app/archiv
app/einkaufslisten
app/imap-client
app/wissensbasis
arch-answered
arch-question
area/api
area/auth
area/infra
area/mobile
area/shared
area/ui
area/web
portfolio-status
prio/high
prio/low
prio/medium
roadmap/public
size/l
size/m
size/s
size/xl
size/xs
status/blocked
status/needs-info
type/bug
type/chore
type/docs
type/feature
type/idea
type/refactor
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#427
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Kontext
ML Kit Text Recognition liefert auf Foto-Aufnahmen handschriftlicher Listen oft zu viel Rauschen: gedruckte Branding-Elemente (z.B. Header-Logo, Footer-Spalten) werden als zusätzliche Zeilen erkannt und verwässern das Ergebnis.
In v0.6.0 wurde dies via automatischem Cluster-Filter (X-Position-Buckets) abgemildert (
filterToMainClusterinapps/mobile/app/lists/[listId]/image-preview.tsx). Das funktioniert für klare 2-Spalten-Layouts, ist aber heuristisch.Ziel
Vor der Analyse einen optionalen Pre-Crop-Schritt anbieten: Der User zieht im Image-Preview einen Rahmen um den eigentlichen Listenbereich. Nur dieser Ausschnitt wird an die OCR weitergegeben.
Akzeptanzkriterien
apps/mobile/app/lists/[listId]/image-preview.tsx) lässt sich ein rechteckiger Crop-Rahmen über das Bild ziehen (Drag-Gesten an Ecken/Kanten).Analysierenwird das Bild viaexpo-image-manipulatorauf den Rahmen zugeschnitten, bevor es anocrService.recognize/ Server-OCR geht.Out of Scope
Bezug
filterToMainCluster-Cluster-Filter — das bleibt als Fallback, wenn der User keinen Crop zieht.Technische Hinweise
react-native-gesture-handlerist bereits im Projekt.react-native-reanimatedShared Values nutzen (vermutlich schon vorhanden über Tamagui/Expo).Image.getSize.Duplikat von #326 — dort steht bereits dieselbe Pre-Crop-UX-Anforderung mit Labels. Schließe hier zugunsten von #326.