OCR: Falsche Bildausrichtung und überlagertes Review-Layout #85
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
admin-mrrm/mrrmlabapp#85
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?
Bugs (Branch
feat/ocr-image-preprocessing)1. Bild wird kopfüber/gedreht ausgewertet
Bei Hochformat-Fotos vom Handy ignoriert PIL die EXIF-
Orientation-Tags (3/6/8). Pixel werden nicht physisch rotiert, der Tag wird nur gesetzt. Folge: Das Vorschaubild im Review-Screen erscheint kopfüber, und TrOCR bekommt ein gedrehtes Bild – die Deskew-Korrektur fängt das nicht ab (nur ±45°).Fix:
ImageOps.exif_transpose(image)direkt nachImage.open()inapps/ocr/app/ocr.py::extract_text.2. Erkannte Artikel überlagern das Vorschaubild
Im Review-Screen liegen Vorschaubild und Item-Liste in einem
YStackmitflex={1}ohne Scroll-Container. Bei mehr Items als Bildschirmhöhe überlappen sie das Bild statt zu scrollen.Fix: Inhalte (Image + Items + Add-Input) in einen Tamagui
<ScrollView>packen; Confirm-Button bleibt fixiert unten.3. (bereits behoben)
sentencepiecefehlteOCR-Container crashte beim Start für
trocr-small-handwrittenmitModuleNotFoundError: tiktokenbzw.Converting from SentencePiece and Tiktoken failed. Behoben in Commitb40c562(sentencepiece zu requirements.txt).Separat (nicht Teil dieses Issues)
Die Erkennungsqualität für deutsche Handschrift ist mit den TrOCR-IAM-Modellen (englisch trainiert) inhärent begrenzt. Sinnloser Output bei sauberer Eingabe ist erwartetes Verhalten – braucht eigenes Issue für Modellwechsel/Finetuning.
Alle 3 Bugs sind inzwischen behoben — Ticket kann geschlossen werden.
Bug 1 (EXIF-Rotation):
ImageOps.exif_transpose(image)ist inapps/ocr/app/ocr.pyan beiden Image.open-Stellen (Zeilen 366, 388) drin.Bug 2 (Review-Layout):
packages/feature-shopping-list/src/components/review-screen.tsxwrappt die Inhalte in einen<ScrollView flex={1} contentContainerStyle={{...}}>(Zeile 118ff). Items kollidieren nicht mehr mit dem Vorschaubild.Bug 3 (sentencepiece): Schon im Issue-Body als behoben markiert (Commit
b40c562).Beide reproduzierbaren Bugs sind in nachfolgender Arbeit gefixt:
Bug 1 (EXIF-Orientation):
ImageOps.exif_transpose()inapps/ocr/app/ocr.py(Zeile 366, 388) — Server-OCR-Path rotiert jetzt korrekt. Der primäre On-Device-Path (ML Kit, seit v0.6.0) übernimmt EXIF-Orientation nativ auf Android.Bug 2 (Overlap):
ReviewScreeninpackages/feature-shopping-list/src/components/review-screen.tsx:146wickelt Inhalte in<ScrollView flex={1} contentContainerStyle={{...}}>— scrollt jetzt korrekt.Bug 3: Vom Reporter selbst als gefixt markiert (sentencepiece in requirements.txt).
Kein Re-Repro mehr nötig — Issue schließen.