6/5/2018

OCR (gebruiken)

Filed under: — cybrarian @ 8:57 pm

Uitdaging: een beeld opnemen (foto) met een aangesloten camera, en de tekst die erop voorkomt beschikbaar krijgen voor een ander programma.

Bestaat er OCR software voor Linux? Blijkbaar wel:
https://unix.stackexchange.com/questions/377359/how-to-use-ocr-from-the-command-line-in-linux

install tesseract-ocr

and can be used with

tesseract input.png out.txt

Tesseract
In de openSUSE softwarebeheerder is – naast gocr en ocrad – tesseract prominent aanwezig met paketten als:

tesseract-ocr
tesseract-ocr-devel
tesseract-ocr-traneddata-dutch
tesseract-ocr-traneddata-english
tesseract-ocr-traneddata-french
tesseract-ocr-traneddata-german
tesseract-ocr-traneddata-…
(tientallen talen)
libtesseract3

(met als vendor openSUSE)

Installatie
Bij installatie van tesseract-ocr wordt mee geselecteerd:

libtesseract3
liblept4
tesseract-ocr-traneddata-english

Met Frans, Nederlands en Duits erbij wordt er 26 Mb gedownload en 109 Mb geïnstalleerd.

Test

Ik maak twee screenshots van een gebied op het scherm (van een website); één zwarte achtergrond met witte tekst, één met witte achtergrond en zwarte tekst.

tesseract WitOpZwart.png WitOpZwart.txt

maakt een bestand WitOpZwart.txt.txt

(dus blijkbaar zet hij er zelf nog eens de extentie txt achter)

Dat gedrag klopt niet met bovenstaand citaat uit een website, maar wel met de beschrijving van gebruik van tesseract zelf:

tesseract beeldbestandsnaam uitvoerbasis

beeldbestandsnaam is dan WitOpZwart.png
en uitvoerbasis is WitOpZwart want de .txt zet tesseract zelf.

Dit png bestand is maar 5 k groot, en de omzetting gebeurt zowat onmiddellijk.

Een zwaardere test: een scan van een t-shirt met daarop een tekst:

GeelOpDonkergroen, 600 dpi, 5100 x 7000 pixels, 64 Mb

GeelWitOpZwart, 600 dpi, (ongeveer hetzelfde)

Hier duurt het een beetje langer maar is het resultaat onbruikbaar.
Het bestand verkleinen en rechtzetten helpt een beetje, ik begrijp de tekens omdat ze in de buurt komen van het beeld, maar ze leveren niets bruikbaars op als tekst.

Op een beeld waarbij een streep loopt die onderbroken wordt door tekst is tesseract zo lang bezig dat ik het programma onderbreek.

Ope een heel erg verkleinde versie van de scan zegt tesseract dat het blad leeg is.

Nog
(nog) niet geprobeerd: foto ipv scan of screenshot.
(nog) niet geprobeerd: parameters meegeven over bv orientatie, taal enz.

Resultaat
Het beste resultaat wordt dus behaald met een zwart op witte achtergrond mooi recht uitgesneden screenshot. Alles wat minder perfect is geeft problemen.

Powered by WordPress