Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning s pomocí DALL-E
Software Článek Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?

Tomáš Němec

Tomáš Němec

56

Seznam kapitol

1. Programy pro příkazovou řádku 2. Programy s grafickým prostředím

V tomto krátkém článku se podělím o své zkušenosti se zprovozňováním programů OCR na Linuxu. Dva existují, ale výsledky by mohly být lepší.

Reklama

Mnoho lidí se může dostat do situace, kdy bude potřebovat z obrázku dostat textový výstup, tedy optické rozpoznávání znaků – tzv. OCR. Patřím k nim. Primárně používám Linux, proto jsem chtěl řešení postavené na Linuxu. Za řešení nechci platit, potřeba bývá omezená, víceméně jednorázová. Dále v článku se podělím o své zkušenosti z procházení nabízených možností splňující vyjmenované podmínky.

Protože v Linuxu jsou grafické programy pro OCR nejčastěji postaveny nad CLI programy, začneme u programů pro příkazovou řádku. 

CuneiForm

Jde o textově orientovaný nástroj.  Nainstalujeme pomocí balíčku cuneiform. Bohužel jeho úspěšnost mě nepřesvědčila. Použití vypadá takto.

cuneiform -f text -l czech -o edi.txt IMG_20241225_134929887.jpg
  • -f nastavuje formát
  • -l nastavuje jazyk překladu
  • -o nastaví soubor výstupu

Bohužel výstup nedopadl dobře. Výsledky v anglickém jazyce jsou naneštěstí podobné.

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning.cz

 

Tesseract

Tesseract je něco jako backend. Může být použit programy s grafikou jako výkonná část. Ovšem dá se použít i samostatně, zde se na to podíváme. Nainstalujeme pomocí balíčku tesseract-ocr. Potom musíme ještě přidat požadovaný jazyk kromě základní angličtiny. V našem případě češtinu. Jde o balíček tesseract-ocr-ces.

Nejdříve zkusím základní převod. Použiji označení zdrojového a cílového souboru a jazyk nastavím na češtinu.

tesseract IMG_20241225_134929887.jpg out.txt -l ces

Bohužel výstup není použitelný

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning.cz

Tato syntaxe by měla brát textové bloky na základě parametru --psm 6 a zachovat mezery v textu.

tesseract IMG_20241225_134929887.jpg out.txt -l ces --psm 6 -c preserve_interword_spaces=1

Výstup je bohužel ale také nezajímavý.

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning.cz

OCRmyPDF

Zajímavý program, který funguje na tom, že do PDF souborů přidá znakovou vrstvu. Jako zdroj mu poslouží jak obrázek, tak i PDF soubor tvořený pouze obrázkem, tedy bez textové vrstvy. Výstupem je PDF soubor. Pokud žádáme pouze text, můžeme tento soubor převést na textový soubor. Jde o program příkazového řádku, příkaz vypadá potom takto:

ocrmypdf start.pdf output.pdf -l ce

Převod do textového souboru provedeme příkazem.

pdftotext output.pdf output.txt

A teď to hlavní – výstup. Nejdřív PDF soubor.

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning.cz

A potom textový soubor.

Hledáme možnosti OCR na Linuxu. Zvládne něco češtinu?
i Zdroj: PCTuning.cz

Nejlepší výstup. Je potřebná revize, ale vypadá velmi rozumně.

Toto byly programy pro příkazovou řádku. V další kapitole se podíváme na programy v grafickém prostředí.


První
Poslední
Reklama
Reklama

Komentáře naleznete na konci poslední kapitoly.

Reklama
Reklama