Il problema: circa una settimana fa, nella speranza di migliorare ulteriormente la precisione di Tesseract, ho aggiunto una combinazione guassiana sfocatura/binomio OTSU che risulta in bellissime immagini binarie come quella allegata. Lo faccio in openCV, quindi l'immagine che passo a Tesseract è già un'immagine binaria (come quella allegata). Quando Tesseract esegue la pre-elaborazione dell'immagine (anche quella pubblicata di seguito) l'immagine viene danneggiata e quindi non viene prodotto alcun output significativo. Vedi l'immagine sotto l'input di esempio, per un'idea di cosa sta facendo Tesseract all'immagine.OpenCV Sfocatura gaussiana si rompe Tesseract?
La fonte del problema è la sfocatura di Guassian. Se lo rimuovo, lo Thresholded image
output di tesseract non è confuso, ma non è neanche così pulito e leggibile come l'immagine binaria che ho allegato. Posso disabilitare Tesseract dal pre-processing delle immagini che ho passato? Perché una sfocatura di Guassian rovina completamente Tesseract? Mi sento come se l'immagine di input fosse chiara come quella che ho allegato, la precisione sarebbe migliorata.
Entrambe le immagini sono della stessa colonna. La prima è l'immagine di input, la seconda è il risultato della pre-elaborazione dell'immagine di Tesseract.
INGRESSO TESSERACT ESEMPIO:
TESSERACT CORRUZIONE (ottenuto da GetThresholdedImage()
:
OK, questo ha aiutato molto! Quindi, l'immagine con la soglia era un gruppo di linee orizzontali, quindi qualcosa stava andando storto. Alla fine ho rintracciato il fatto che, in effetti, ho aggiunto una sfocatura gaussiana all'immagine prima della binarizzazione per un'immagine migliorata. Ma il risultato della sfocatura e della binarizzazione è un'immagine simile a quella sopra ^^. Come può un immagine perfettamente binarizzata interrompere il tesseract? So che tesseract cerca di binarizzare l'immagine, anche, ma la mia immagine è più chiara, dopo i test. Qualche idea? –
Il tesseract AFAIK non esegue il binarize di 2 immagini a colori. Quindi immagino ci sia un problema su come passare i dati opencv su tesseract. Ho pubblicato un esempio che funziona per me. – user898678