Analisi
Il 99% delle scansioni sono documenti stampati su fogli bianchi. Si può sfruttare il contrasto foglio/sfondo per un auto-crop più affidabile.
Cosa c'è già
- Pipeline Canny → dilate → contour → quadrilateral detection (
AutoCropper)
- Downscaling a 800px per performance
- Confidence scoring con fallback
- Otsu threshold già implementato (usato per filtro B&W)
detectDocumentEdges() nell'editor che pre-posiziona gli angoli
Cosa aggiungere
- Binarizzazione Otsu sulla luminosità prima di Canny: i pixel chiari (foglio) vs scuri (sfondo) si separano facilmente. Otsu è già implementato in
ImageProcessor
- Trova il blob bianco più grande — se è rettangolare e copre >15% dell'immagine → quelli sono i 4 angoli del documento
- Soglia di confidenza alta (>0.8) per applicare auto-crop direttamente dopo lo scatto, senza conferma manuale
- Se confidenza media (0.5–0.8): mostra gli angoli suggeriti nell'editor come già avviene
- Se confidenza bassa (<0.5): fallback proporzionale (5% inset)
Flusso proposto
- Guided scan → scatto → binarizzazione Otsu → blob detection → se rettangolo ad alta confidenza → crop automatico → mostra risultato con opzione "Annulla crop"
- Se confidenza non sufficiente → mostra editor con angoli suggeriti (comportamento attuale)
Riuso codice
_calculateOtsuThresholdStatic da ImageProcessor
_findContours, _findLargestContour, _approximateContourToQuad da AutoCropper
- Perspective warp già presente
Lavoro contenuto: ~1 nuovo metodo + integrazione nel flusso scan.
Analisi
Il 99% delle scansioni sono documenti stampati su fogli bianchi. Si può sfruttare il contrasto foglio/sfondo per un auto-crop più affidabile.
Cosa c'è già
AutoCropper)detectDocumentEdges()nell'editor che pre-posiziona gli angoliCosa aggiungere
ImageProcessorFlusso proposto
Riuso codice
_calculateOtsuThresholdStaticdaImageProcessor_findContours,_findLargestContour,_approximateContourToQuaddaAutoCropperLavoro contenuto: ~1 nuovo metodo + integrazione nel flusso scan.