
De ce pozele paginilor de carte pică la OCR (și cum câteva grade de înclinare distrug acuratețea)
Publicat 24 iul. 2026
Dacă ai încercat vreodată să convertești o poză a unei pagini de carte în text online și ai primit înapoi un perete de nonsens ilizibil, probabil ai dat vina pe ce nu trebuie. E tentant să presupui că hârtia veche, îngălbenită, sau lumina proastă e vinovată — dar în teste, niciuna dintre acestea nu a schimbat aproape deloc rezultatul. Cauza reală este aproape mereu ceva ce nu poți vedea doar uitându-te la poză: o mică înclinare a camerei.
Testul: aceeași pagină, patru condiții
Ca să aflăm ce strică de fapt OCR-ul (recunoașterea optică a caracterelor) pe poze reale de carte, am rulat același bloc de text prin Tesseract — motorul OCR open-source — în patru condiții: un scan curat și plat, o pagină îngălbenită/decolorată, o poză înclinată cu aproximativ 12 grade și o poză înclinată cu o reflexie de lumină adăugată.
| Condiție | Acuratețe pe cuvinte |
|---|---|
| Scan curat, plat | 100% |
| Pagină îngălbenită, decolorată (fără înclinare) | 100% |
| Înclinare ~12° (fără decolorare) | 67.7% |
| Înclinare ~8° + reflexie | 71.0% |
Pagina îngălbenită a obținut un scor identic cu cea impecabilă — punctaj maxim. În momentul în care a apărut o înclinare, acuratețea s-a prăbușit cu o treime, producând exact genul de rezultat pe care oricine a încercat unelte de tip “scanează manualul în Word” l-a văzut: "brow," în loc de “brown”, "Chapte,." în loc de “Chapter.”, "hidde,," în loc de “hidden”.
De ce o înclinare minusculă provoacă atâta pagubă
Motoarele OCR citesc textul scanând rândurile imaginii, căutând benzi orizontale consistente de cerneală — acesta este mecanismul prin care disting un rând de text de următorul. Pe un scan perfect drept, fiecare rând de text stă într-o bandă orizontală ordonată, iar motorul separă clar linia 1 de linia 2 de linia 3.
Înclină pagina cu doar 10 grade, iar acea bandă orizontală curată devine o pată diagonală care se întinde pe zeci de rânduri de pixeli. Logica de segmentare pe linii a motorului începe să contopească caractere din ceea ce ar trebui să fie două rânduri separate, sau să despartă un singur caracter între ceea ce crede că sunt două rânduri diferite. Rezultatul nu e “puțin mai puțin precis” — e un rezultat categoric diferit, pentru că unitatea fundamentală pe care o citește motorul (un rând) nu mai corespunde cu ce se află de fapt în imagine.
Acesta e și motivul pentru care o poză care ție ți se pare perfect lizibilă poate produce totuși un rezultat OCR ilizibil. Sistemul tău vizual compensează o înclinare de 10 grade fără niciun efort conștient — nici măcar nu o percepi ca fiind înclinată. Un pipeline OCR naiv nu are o astfel de compensare încorporată și citește exact pixelii care i se dau.
Soluția: îndreaptă înainte de a recunoaște, nu după
Concluzia practică nu e “ține telefonul mai atent” — o oarecare înclinare atunci când fotografiezi o carte deschisă e aproape inevitabilă, pentru că nu apeși pagina plat pe un scanner. Soluția este automată: detectează unghiul de înclinare și corectează-l înainte de a rula recunoașterea textului, nu după.
O metodă fiabilă de a detecta unghiul fără niciun model greoi de machine learning este metoda profilului de proiecție: rotești imaginea printr-un interval de unghiuri candidate și, pentru fiecare, măsori cât de “ascuțită” este distribuția cernelii rând cu rând. La unghiul corect, liniile de text se aliniază în benzi clare (varianță mare între rânduri); la orice alt unghi, cerneala se întinde peste rânduri (varianță mică). Unghiul care produce varianța cea mai mare este unghiul de îndreptare.
Rulând mai întâi această corecție și apoi recunoscând textul, am readus fiecare dintre cazurile noastre de test înclinate la 100% acuratețe pe cuvinte — aceeași pagină, același motor OCR, singura diferență fiind îndreptarea ei în prealabil.
Ce înseamnă asta dacă digitizezi o carte
- Nu-ți face griji pentru starea hârtiei. Îngălbenirea, decolorarea ușoară și pierderea de contrast din cauza îmbătrânirii hârtiei nu schimbă aproape deloc acuratețea de una singură. O carte veche de buzunar se digitizează la fel de bine ca una nouă.
- Fă-ți griji pentru unghi. Chiar și o înclinare pe care nu ai observa-o cu ochiul liber poate fi diferența totală dintre un text utilizabil și unul ilizibil.
- Reflexia de la blitz contează mai puțin decât înclinarea, dar tot dăunează. Un punct luminos pe hârtie lucioasă poate șterge complet orice text se află sub el — corecția unghiului nu poate repara un loc unde nu există, de la bun început, cerneală lizibilă de citit.
- Un instrument care corectează automat înclinarea rezolvă problema reală. Instrumentul nostru de transformare a paginii de carte în text rulează exact acest pas de detectare și corectare în browserul tău înainte de recunoaștere — fără încărcare, fără server, și e construit special în jurul problemei înclinării, nu presupunând că îi dai un scan drept.
Dacă ai încercat OCR pe o poză de carte în trecut și ai renunțat pentru că rezultatul era ilizibil, pagina probabil nu a fost problema — câteva grade de unghi al camerei aproape sigur au fost.