CodeKitHub
Proč fotky stránek knih selhávají při OCR (a jak pár stupňů náklonu zničí přesnost)

Proč fotky stránek knih selhávají při OCR (a jak pár stupňů náklonu zničí přesnost)

Publikováno 24. 7. 2026

Pokud jste někdy zkusili převést fotku stránky knihy na text online a dostali zpátky zeď rozsypaných nesmyslů, nejspíš jste vinili špatnou věc. Je lákavé předpokládat, že za to může starý zažloutlý papír nebo špatné osvětlení — jenže v testech ani jedno z toho výsledkem skoro nepohnulo. Skutečnou příčinou je téměř vždy něco, co pouhým pohledem na fotku nevidíte: malý náklon fotoaparátu.

Test: stejná stránka, čtyři podmínky

Abychom zjistili, co OCR (optické rozpoznávání znaků) na reálných fotkách knih doopravdy rozbíjí, prohnali jsme stejný blok textu Tesseractem — open-source OCR enginem — za čtyř podmínek: čistý rovný sken, zažloutlá/vybledlá stránka, fotka nakloněná asi o 12 stupňů a nakloněná fotka s přidaným odleskem.

Podmínka Přesnost slov
Čistý, rovný sken 100%
Zažloutlá, vybledlá stránka (bez náklonu) 100%
Náklon ~12° (bez zabarvení) 67.7%
Náklon ~8° + odlesk 71.0%

Zažloutlá stránka dopadla stejně jako ta nedotčená — plný počet. V okamžiku, kdy přibyl náklon, se přesnost propadla o třetinu a vznikl přesně ten druh výstupu, který zná každý, kdo zkoušel nástroje na „převod učebnice do wordu“: "brow," místo „brown“, "Chapte,." místo „Chapter.“, "hidde,," místo „hidden”.

Proč nepatrný náklon napáchá takovou škodu

OCR enginy čtou text tak, že skenují řádky obrazu a hledají souvislé vodorovné pásy inkoustu — tím mechanismem odlišují jeden řádek textu od druhého. Na dokonale rovném skenu sedí každý řádek textu v úhledném vodorovném pásu a engine čistě oddělí řádek 1 od řádku 2 a od řádku 3.

Nakloňte stránku byť o 10 stupňů a z čistého vodorovného pásu se stane diagonální šmouha přes desítky pixelových řádků. Logika segmentace řádků začne slučovat znaky z toho, co měly být dva samostatné řádky, nebo rozdělovat jediný znak mezi to, co považuje za dva různé řádky. Výsledek není „o trochu méně přesný“ — je to kategoricky jiný výstup, protože základní jednotka, kterou engine čte (řádek), už neodpovídá tomu, co je v obrázku doopravdy.

Proto také může fotka, která vám připadá naprosto čitelná, dávat nečitelný OCR výstup. Váš zrakový systém desetistupňový náklon kompenzuje bez jakéhokoli vědomého úsilí — ani ho jako náklon nezaregistrujete. Naivní OCR pipeline žádnou takovou kompenzaci zabudovanou nemá a čte přesně ty pixely, které dostane.

Oprava: narovnat před rozpoznáváním, ne po něm

Praktický závěr nezní „drž telefon opatrněji“ — trocha náklonu při fotografování otevřené knihy je téměř nevyhnutelná, protože stránku netisknete naplocho na skener. Oprava je automatická: detekovat úhel náklonu a opravit ho před spuštěním rozpoznávání textu, ne po něm.

Jedním spolehlivým způsobem detekce úhlu bez jakéhokoli těžkého modelu strojového učení je metoda projekčního profilu: otáčejte obraz přes rozsah kandidátních úhlů a u každého změřte, jak „špičaté“ je rozložení inkoustu řádek po řádku. Při správném úhlu se řádky textu srovnají do ostrých pásů (vysoký rozptyl mezi řádky); při jakémkoli jiném úhlu se inkoust rozmaže napříč řádky (nízký rozptyl). Úhel s nejvyšším rozptylem je úhel narovnání.

Spuštění této korekce nejdřív a rozpoznávání textu až potom vrátilo každý z našich nakloněných testovacích případů zpět na 100% přesnost slov — stejná stránka, stejný OCR engine, jediným rozdílem bylo narovnání předem.

Co to znamená, pokud digitalizujete knihu

  • Netrapte se stavem papíru. Zažloutnutí, mírné vyblednutí a lehká ztráta kontrastu stárnoucího papíru samy o sobě přesností skoro nepohnou. Starý paperback se digitalizuje zhruba stejně dobře jako nový.
  • Trapte se úhlem. I náklon, kterého si okem nevšimnete, může být celým rozdílem mezi použitelným textem a nesmysly.
  • Odlesk od blesku vadí méně než náklon, ale pořád škodí. Jasný svit na lesklém papíře může vygumovat text, který je pod ním — korekce úhlu nespraví místo, kde není žádný čitelný inkoust ke čtení.
  • Nástroj, který náklon opravuje automaticky, řeší skutečný problém. Náš nástroj book page to text provádí přesně tento krok detekce a korekce ve vašem prohlížeči ještě před rozpoznáváním — žádné nahrávání, žádný server, a je postavený přímo kolem problému náklonu, místo aby předpokládal, že mu dáváte rovný sken.

Pokud jste OCR na fotce knihy už zkoušeli a vzdali to, protože byl výsledek nečitelný, problém nejspíš nebyl ve stránce — téměř jistě to bylo pár stupňů úhlu fotoaparátu.

← Zpět na blog