
Varför foton av boksidor misslyckas med OCR (och hur några graders lutning förstör noggrannheten)
Publicerad 24 juli 2026
Om du någonsin har försökt konvertera ett foto av en boksida till text online och fått tillbaka en vägg av rörig nonsens har du förmodligen skyllt på fel sak. Det är lockande att anta att gammalt, gulnat papper eller dålig belysning är boven — men i tester påverkade ingen av dem resultatet nämnvärt. Den verkliga orsaken är nästan alltid något du inte kan se bara genom att titta på fotot: en liten kameralutning.
Testet: samma sida, fyra tillstånd
För att ta reda på vad som faktiskt förstör OCR (optisk teckenigenkänning) på verkliga foton av boksidor körde vi samma textblock genom Tesseract — den öppna källkods-OCR-motorn — under fyra tillstånd: en ren, plan skanning, en gulnad/blekt sida, ett foto lutat cirka 12 grader, samt ett lutat foto med tillagd reflexglans.
| Tillstånd | Ordnoggrannhet |
|---|---|
| Ren, plan skanning | 100% |
| Gulnad, blekt sida (ingen lutning) | 100% |
| Lutad ~12° (ingen missfärgning) | 67,7% |
| Lutad ~8° + glans | 71,0% |
Den gulnade sidan fick samma resultat som den nyskinande — full poäng. I samma stund som en lutning introducerades kollapsade noggrannheten med en tredjedel, vilket gav precis den typen av resultat som alla som provat “skanna lärobok till word”-verktyg har sett: "brow," istället för “brown”, "Chapte,." istället för “Chapter.”, "hidde,," istället för “hidden”.
Varför en liten lutning orsakar så mycket skada
OCR-motorer läser text genom att skanna bildrader och leta efter konsekventa horisontella band av bläck — det är mekanismen de använder för att skilja en textrad från nästa. På en perfekt plan skanning ligger varje textrad i ett prydligt horisontellt band, och motorn separerar tydligt rad 1 från rad 2 från rad 3.
Luta sidan så lite som 10 grader, och det rena horisontella bandet blir en diagonal strimma som spänner över dussintals pixelrader. Motorns radsegmenteringslogik börjar slå ihop tecken från vad som borde vara två separata rader, eller dela ett enskilt tecken mellan vad den tror är två olika rader. Resultatet är inte “något mindre exakt” — det är kategoriskt annorlunda output, eftersom den grundläggande enhet motorn läser (en rad) inte längre motsvarar det som faktiskt finns i bilden.
Det här är också varför ett foto som ser fullt läsbart ut för dig fortfarande kan ge oläsbar OCR-output. Ditt visuella system kompenserar för en 10-graders lutning helt utan medveten ansträngning — du uppfattar det inte ens som lutat. En naiv OCR-pipeline har ingen sådan kompensation inbyggd, och läser exakt de pixlar den får.
Lösningen: räta upp innan du känner igen, inte efteråt
Den praktiska slutsatsen är inte “håll telefonen mer försiktigt” — lite lutning när man fotograferar en uppslagen bok är nästan oundvikligt, eftersom du inte pressar sidan platt mot en skanner. Lösningen är automatisk: upptäck lutningsvinkeln och korrigera den innan du kör textigenkänning, inte efteråt.
Ett tillförlitligt sätt att upptäcka vinkeln utan någon tung maskininlärningsmodell är projektionsprofilmetoden: rotera bilden genom ett spann av kandidatvinklar, och mät för varje en hur “toppig” den radvisa bläckfördelningen är. Vid rätt vinkel ligger textraderna i skarpa band (hög varians mellan rader); vid vilken annan vinkel som helst smetas bläcket ut mellan raderna (låg varians). Vinkeln som ger högst varians är den vinkel man ska räta upp till.
Att köra denna korrigering först och sedan känna igen text förde tillbaka varje enskilt lutat testfall till 100% ordnoggrannhet — samma sida, samma OCR-motor, den enda skillnaden var att räta upp den först.
Vad detta betyder om du digitaliserar en bok
- Oroa dig inte för papperets skick. Gulnande, mild blekning och lätt kontrastförlust från åldrat papper påverkar knappt noggrannheten på egen hand. En gammal pocketbok digitaliseras ungefär lika bra som en ny.
- Oroa dig för vinkeln. Även en lutning du inte skulle märka med blotta ögat kan vara hela skillnaden mellan användbar text och skräp.
- Glans från blixt spelar mindre roll än lutning, men skadar ändå. En ljus glanspunkt på blankt papper kan tömma ut vilken text som helst under den — vinkelkorrigering kan inte fixa en fläck där det inte finns läsbart bläck att läsa från början.
- Ett verktyg som korrigerar lutning automatiskt löser det faktiska problemet. Vårt verktyg för boksida till text kör exakt detta upptäckt-och-korrigera-steg i din webbläsare innan igenkänning — ingen uppladdning, ingen server, och det är byggt specifikt kring lutningsproblemet istället för att anta att du matar in en plan skanning.
Om du har provat OCR på ett bokfoto tidigare och gett upp för att resultatet var oläsbart var sidan förmodligen inte problemet — några graders kameravinkel var det nästan säkert.