Článek
Zlepšení přesnosti OCR: opravte obrázek před rozpoznáváním textu
OCR je přesné jen natolik, jak dobrý je obrázek, který mu poskytnete. Nakřivený, nízkokontrastní, zašuměný sken produkuje nesouvislý text bez ohledu na to, jak dobrý je engine. Zde je to, co skutečně zlepšuje výsledky, v pořadí, ve kterém to dělat, vše běžící lokálně ve vašem prohlížeči.
Proč má OCR problémy s reálnými skeny
OCR engine jako Tesseract byl trénován na čistém, horizontálním textu s vysokým kontrastem. Segmentuje stránku na řádky, řádky na slova a slova na tvary znaků, poté každý tvar porovnává se svým natrénovaným modelem. Reálné skeny tyto předpoklady porušují: stránka je nakloněna o několik stupňů, osvětlení je nerovnoměrné, rozlišení je nízké a okraj skenovacího lůžka nebo protilehlá stránka přidávají tmavý šum. Každý z těchto problémů způsobuje, že krok segmentace řádků a znaků odhaduje špatně, a špatná segmentace se propaguje do špatných znaků. Řešením je zřídka jiný engine: je to příprava obrázku tak, aby předpoklady enginu platily. V praxi předzpracování zlepšuje přesnost více než volba OCR enginu.

Začněte s rozlišením: cílejte na 300 DPI
Tesseract funguje nejlépe při přibližně 300 DPI pro normální text. Pod přibližně 200 DPI se tahy každého glyfu rozmazávají do sousedních a přesnost prudce klesá. Pokud máte kontrolu nad skenováním, nastavte skener na 300 DPI ještě před čímkoli jiným, protože to je volba s největším dopadem. Pokud máte pouze obrázek s nízkým rozlišením, jeho zvětšení nevymyslí detaily, které nikdy nebyly zachyceny, ale mírné zvětšení může enginu přesto pomoci oddělit dotýkající se znaky tím, že segmentaci poskytne více pixelů. Velmi drobný tisk těží z 400 až 600 DPI; nad tuto hodnotu soubor pouze roste bez zisku přesnosti. Pokud je zdrojem PDF, nejprve rastrujte každou stránku na obrázek při cílovém DPI, poté na tom obrázku spusťte OCR.
Opravte orientaci
Pokud je stránka otočena o 90, 180 nebo 270 stupňů, engine čte ze strany nebo obráceně a vrací nesmysly. Tesseract má průchod detekce orientace a skriptu (OSD), který dokáže rotaci odhadnout, ale je nespolehlivý na řídkém textu, formulářích nebo stránkách dominovaných obrázky. Otočení stránky do vzpřímené polohy odstraňuje potřebu odhadování. Tento krok je bezeztrátový a okamžitý: rotace o násobek 90 stupňů pouze přemapuje stávající pixely na nové pozice bez ztráty kvality a bez převzorkování. Proveďte to před narovnáváním, protože narovnávání předpokládá, že text je již přibližně horizontální.
Narovnání: vyrovnání malého náklonu
Dokonce i náklon 2 až 3 stupně, který vzniká vložením stránky mírně nakřivo, škodí OCR: krok hledání horizontálních řádků rozdělí jeden řádek textu na dva nebo sloučí dva řádky do jednoho. Narovnání měří dominantní úhel textových řádků (obvykle analýzou projekčního profilu nebo Houghovy transformace) a otočí stránku zpět do roviny. Na rozdíl od otočení o 90 stupňů je narovnání malá rotace o libovolný úhel, takže převzorkuje pixely a přidává malé množství rozmazání. Tento kompromis se téměř vždy vyplatí, protože rovné řádky se segmentují čistě a zisk přesnosti dalece převáží mírné změkčení. Narovnávejte po opravě orientace a před oříznutím.

Ořízněte na text a odstraňte šum
Vše, co není váš hledaný text, je šum, který může engine špatně přečíst: tmavý okraj skenovacího lůžka, část protilehlé stránky, sešitý roh, prst nebo děrovací otvor. Oříznutím na samotný textový blok odstraníte tyto falešné cíle, což zlepšuje přesnost i urychluje rozpoznávání, protože engine má méně plochy k analýze. U dokumentu s více sloupci také oříznutí (nebo spouštění OCR po jednom sloupci) zabraňuje enginu číst přímo přes mezisloupcový prostor a prolínat dva sloupce do jednoho nesrozumitelného řádku. Ořezávejte po narovnání, aby obsah seděl přesně v rámci.
Kontrast, stupně šedi a jak binarizace skutečně funguje
OCR nakonec běží na binárním obrázku: každý pixel je rozhodnut být inkoustem nebo papírem. Tesseract to dělá interně pomocí Otsuovy metody, která vybere jeden globální práh z histogramu obrázku. To funguje dobře, když má stránka rovnoměrné osvětlení a dobrý kontrast, a selhává, když stín nebo barevné pozadí způsobí, že jeden roh je tmavší, než práh očekává. Spolehlivé výhody jsou převod do stupňů šedi, aby barevná vrstva nemohla zmást práh, a vyrovnání osvětlení tak, aby celá stránka ležela na jedné straně prahu. Mírné zvýšení kontrastu pomáhá bledému textu. Co obvykle přináší opačný efekt, je tvrdá ruční binarizace: pokud sami zprahujete na čistou černo-bílou se špatnou hodnotou, vymažete bledé tahy, které by vlastní průchod enginu zachoval. Nechte engine binarizovat a dejte mu rovnoměrný obrázek ve stupních šedi. Sunasty nabízí převod do stupňů šedi pro PDF; pro jemné doladění kontrastu je desktopový editor stále lepší, ale rovnoměrné osvětlení při skenování záleží více než jakýkoli posuvník.
Vyberte správný jazyk a ověřte výstup
Tesseract načítá samostatný soubor s natrénovanými daty pro každý jazyk a skript. Spuštění anglického modelu na francouzský nebo řecký text způsobuje zbytečné chyby, zejména u písmen s diakritikou nebo neanglických znaků, proto vyberte jazyk odpovídající dokumentu. Nakonec zacházejte s výstupem OCR jako s konceptem, nikoli jako s konečnou odpovědí: engine nemá žádný způsob, jak zjistit, zda je jméno správně napsáno nebo zda 0 není O. Zkontrolujte čísla, vlastní jména a vše, co je právně nebo finančně důležité. U tabulek a vícesloupcových rozvržení počítejte s ručními opravami struktury, protože OCR vrací proud rozpoznaného textu, nikoli rekonstruované rozvržení.
Nástroje v tomto článku
- OCR · obrázek/PDF na textExtrahujte text z naskenovaných obrázků nebo PDF zcela v prohlížeči, běží offline, bez nahrávání.
- Narovnat naskenované stránkyNarovnejte zkosené naskenované PDF nebo obrázky zcela v prohlížeči, bez nahrávání.
- Otočit a překlopit obrázkyOtočte obrázky o 90/180/270° nebo je překlopte vodorovně a svisle, bez nahrávání.
- Oříznout obrázekOřízněte své obrázky s interaktivním náhledem, přetáhněte a změňte velikost oblasti ořezu. Žádné nahrávání.
- PDF do odstínů šediPřeveďte barevné PDF do odstínů šedi zcela v prohlížeči, bez nahrávání.
- Změnit velikost obrázkůZměňte velikost a převeďte své obrázky (JPEG, PNG, WebP) bez jejich nahrávání.
- PDF do obrázkůPřeveďte každou stránku PDF na PNG nebo JPG přímo ve vašem prohlížeči.
Časté dotazy
Zvětšení rozmazaného skenu zlepší OCR?
Samo o sobě příliš ne. Zvětšení nedokáže obnovit detaily, které sken nikdy nezachytil, takže rozmazaný obrázek při 100 DPI zůstane rozmazaný. Mírné zvětšení může enginu pomoci oddělit dotýkající se znaky tím, že segmentaci poskytne více pixelů, ale opětovné skenování při 300 DPI je mnohem účinnější než jakékoli zvětšení.
Mám obrázek nejprve sám převést na čistou černo-bílou?
Obvykle ne. Tesseract binarizuje interně Otsuovou metodou a ruční tvrdý práh se špatnou hodnotou vymaže bledé tahy, které by engine zachoval. Místo toho převeďte do stupňů šedi a vyrovnejte osvětlení, pak nechte engine zvolit vlastní práh.
Můj text je bokem. Otočí ho OCR automaticky?
Někdy. Tesseract má průchod detekce orientace, ale je nespolehlivý na formulářích, řídkém textu nebo stránkách s mnoha obrázky. Otočení stránky do vzpřímené polohy o 90, 180 nebo 270 stupňů je bezeztrátové a odstraňuje potřebu odhadování, takže je to bezpečnější volba.
Nahraje některý z těchto kroků můj dokument?
Ne. Otočení, narovnání, oříznutí, převod do stupňů šedi i samotné OCR vše běží ve vašem prohlížeči. OCR používá WebAssembly build Tesseractu a natrénovaná jazyková data jsou stažena jednou a uložena do mezipaměti. Váš soubor nikdy neopustí zařízení.