CodeKitHub
Prečo fotky stránok kníh zlyhávajú pri OCR (a ako pár stupňov naklonenia zničí presnosť)

Prečo fotky stránok kníh zlyhávajú pri OCR (a ako pár stupňov naklonenia zničí presnosť)

Publikované 24. 7. 2026

Ak ste sa niekedy pokúsili online previesť fotku stránky knihy na text a dostali ste späť stenu poplietených nezmyslov, pravdepodobne ste obvinili nesprávnu vec. Je lákavé predpokladať, že za to môže starý, zožltnutý papier alebo zlé osvetlenie — no v testoch ani jedno z toho výsledok takmer vôbec neovplyvnilo. Skutočnou príčinou je takmer vždy niečo, čo na fotke nevidno voľným okom: mierne naklonenie fotoaparátu.

Test: rovnaká stránka, štyri podmienky

Aby sme zistili, čo skutočne kazí OCR (optické rozpoznávanie znakov) pri fotkách skutočných kníh, pustili sme rovnaký blok textu cez Tesseract — open-source OCR engine — za štyroch podmienok: čistý plochý sken, zožltnutá/vyblednutá stránka, fotka naklonená približne o 12 stupňov a naklonená fotka s pridaným odleskom.

Podmienka Presnosť slov
Čistý, plochý sken 100 %
Zožltnutá, vyblednutá stránka (bez naklonenia) 100 %
Naklonenie ~12° (bez sfarbenia) 67,7 %
Naklonenie ~8° + odlesk 71,0 %

Zožltnutá stránka dosiahla rovnaké skóre ako neporušená — plný počet bodov. V okamihu, keď sa objavilo naklonenie, presnosť sa prepadla o tretinu a vznikol presne ten druh výstupu, aký pozná každý, kto skúšal nástroje typu „naskenuj učebnicu do textu“: "hnedý," namiesto „hnedý“, "Kapitol,." namiesto „Kapitola.“, "skryté,," namiesto „skryté“.

Prečo malé naklonenie spôsobí toľko škody

OCR nástroje čítajú text tak, že prehľadávajú riadky obrázka a hľadajú konzistentné horizontálne pásy atramentu — presne týmto mechanizmom rozlišujú jeden riadok textu od druhého. Na dokonale rovnom skene sedí každý riadok textu v úhľadnom horizontálnom páse a nástroj čisto oddelí riadok 1 od riadku 2 a riadku 3.

Nakloňte stránku čo i len o 10 stupňov a tento čistý horizontálny pás sa zmení na diagonálny šmuh naprieč desiatkami riadkov pixelov. Logika segmentácie riadkov potom začne spájať znaky, ktoré by mali patriť do dvoch samostatných riadkov, alebo naopak rozdelí jeden znak medzi to, čo si myslí, že sú dva rôzne riadky. Výsledok nie je „o niečo menej presný“ — je kategoricky iný, pretože základná jednotka, ktorú engine číta (riadok), už nezodpovedá tomu, čo sa v skutočnosti nachádza na obrázku.

Toto je aj dôvod, prečo fotka, ktorá vyzerá úplne čitateľne vám, môže napriek tomu vyprodukovať nečitateľný výstup OCR. Váš zrakový systém kompenzuje naklonenie o 10 stupňov úplne bez vedomej námahy — ani si nevšimnete, že je stránka naklonená. Naivná OCR pipeline žiadnu takúto kompenzáciu nemá a číta presne tie pixely, ktoré dostane.

Riešenie: narovnať pred rozpoznávaním, nie po ňom

Praktickým záverom nie je „drž telefón opatrnejšie“ — určité naklonenie pri fotení otvorenej knihy je takmer nevyhnutné, keďže stránku netlačíte naplocho na skener. Riešenie je automatické: zistiť uhol naklonenia a opraviť ho pred spustením rozpoznávania textu, nie po ňom.

Jeden spoľahlivý spôsob, ako zistiť uhol bez akéhokoľvek náročného modelu strojového učenia, je metóda projekčného profilu: otočte obrázok cez rozsah kandidátnych uhlov a pre každý z nich zmerajte, aký „špicatý“ je rozdiel v hustote atramentu po riadkoch. Pri správnom uhle sa riadky textu zoradia do ostrých pásov (vysoká variancia medzi riadkami); pri akomkoľvek inom uhle sa atrament rozmazáva naprieč riadkami (nízka variancia). Uhol, ktorý vytvorí najvyššiu varianciu, je uhol na vyrovnanie (deskew).

Keď sa táto oprava spustí ako prvá a text sa rozpoznáva až potom, všetky naše naklonené testovacie prípady sa vrátili na 100% presnosť slov — rovnaká stránka, rovnaký OCR engine, jediný rozdiel bol v tom, že sa najprv narovnala.

Čo to znamená, ak digitalizujete knihu

  • Nebojte sa o stav papiera. Žltnutie, mierne vyblednutie a mierna strata kontrastu zo starnutia papiera samy osebe presnosť takmer vôbec neovplyvnia. Stará brožovaná kniha sa digitalizuje približne rovnako dobre ako nová.
  • Bojte sa o uhol. Aj naklonenie, ktoré by ste voľným okom nezaregistrovali, môže byť celým rozdielom medzi použiteľným textom a nezmyslom.
  • Odlesk od blesku vadí menej ako naklonenie, ale stále škodí. Jasný odlesk na lesklom papieri môže úplne vymazať text pod ním — korekcia uhla nezachráni miesto, kde jednoducho nie je žiadny čitateľný atrament na prečítanie.
  • Nástroj, ktorý automaticky opravuje naklonenie, rieši skutočný problém. Náš nástroj na prevod stránky knihy na text vykonáva presne tento krok detekcie a korekcie priamo vo vašom prehliadači ešte pred rozpoznávaním — žiadny upload, žiadny server, a je postavený špecificky okolo problému naklonenia namiesto toho, aby predpokladal, že mu dodávate rovný sken.

Ak ste už niekedy skúšali OCR na fotke knihy a vzdali ste to, pretože výsledok bol nečitateľný, stránka pravdepodobne nebola problém — takmer isto za to mohlo pár stupňov naklonenia fotoaparátu.

← Späť na blog