Artikel
Förbättra OCR-noggrannheten: åtgärda bilden innan du känner igen texten
OCR är bara så bra som den bild du matar in. En sned, lågkontrastig, brusig skanning ger förvrängd text oavsett hur bra motorn är. Här är vad som faktiskt gör skillnad, i den ordning du bör göra det, allt körs lokalt i webbläsaren.
Varför OCR kämpar med riktiga skanningar
En OCR-motor som Tesseract tränades på ren, horisontell text med hög kontrast. Den delar upp en sida i rader, rader i ord och ord i teckenstilar, och matchar sedan varje form mot sin tränade modell. Riktiga skanningar bryter mot dessa antaganden: sidan är lutad några grader, belysningen är ojämn, upplösningen är låg, och kanten på skannerbädden eller motstående sida lägger till mörkt brus. Vart och ett av dessa problem får steget för rad- och teckenidentifiering att gissa fel, och en felaktig segmentering leder till felaktiga tecken. Lösningen är sällan en annan motor: det handlar om att förbereda bilden så att motorns antaganden håller. I praktiken förbättrar förbehandling noggrannheten mer än valet av OCR-motor gör.

Börja med upplösning: sikta på 300 DPI
Tesseract fungerar bäst vid ungefär 300 DPI för normal brödtext. Under ungefär 200 DPI suddas strecken i varje tecken ihop med grannarna och noggrannheten sjunker kraftigt. Om du styr skanningen, ställ in skannern på 300 DPI före allt annat, eftersom det är det enskilt viktigaste valet. Om du bara har en lågupplöst bild skapar inte uppskalning detaljer som aldrig fångades, men en måttlig uppskalning kan ändå hjälpa motorn att separera tecken som vidrör varandra genom att ge segmenteringen fler pixlar att arbeta med. Mycket liten text har nytta av 400 till 600 DPI; utöver det växer bara filen utan noggrannhetsvinst. När källan är en PDF, rasterisera varje sida till en bild vid mål-DPI:t först, och kör sedan OCR på den bilden.
Rätt orientering
Om sidan är roterad 90, 180 eller 270 grader läser motorn sidledes eller upp och ned och returnerar nonsens. Tesseract har ett orienterings- och skriptdetektionspass (OSD) som kan gissa rotationen, men det är opålitligt på gles text, formulär eller sidor som domineras av bilder. Att rotera sidan upprätt själv eliminerar gissningsleken. Det här steget är förstöringsfritt och omedelbart: att rotera med en multipel av 90 grader mappar bara om befintliga pixlar till nya positioner, utan kvalitetsförlust och ingen omsampling. Gör det innan du rätar ut sidan, eftersom uträtning förutsätter att texten redan är ungefär horisontell.
Räta ut: korrigera den lilla lutningen
Även en lutning på 2 till 3 grader, den typ du får från att mata in en sida lite snett, skadar OCR: det horisontella radfinningssteget delar en textrad i två, eller slår ihop två rader till en. Uträtning mäter den dominerande vinkeln på textraderna (vanligtvis med en projektionsprofil- eller Hough-transformanalys) och roterar sidan tillbaka till horisontalt läge. Till skillnad från en 90-gradig rotation är uträtning en liten rotation med godtycklig vinkel, vilket gör att pixlar samplas om och ett litet suddighet tillkommer. Den avvägningen är nästan alltid värd det, eftersom jämna rader segmenteras rent och noggrannhetsvinsten vida uppväger den lätta mjukheten. Räta ut efter att ha fixat orientering och innan beskärning.

Beskär till texten och ta bort bruset
Allt som inte är texten du vill ha är brus som motorn kan feltolka: den mörka kanten på skannerbädden, del av motstående sida, ett häftat hörn, ett finger eller ett hålslagshål. Att beskära till bara textblocket tar bort dessa falska mål, vilket både förbättrar noggrannheten och snabbar upp igenkänningen eftersom motorn har ett mindre område att analysera. För ett dokument med flera kolumner förhindrar beskärning (eller att köra OCR en kolumn i taget) också att motorn läser rakt över mellanspalten och blandar ihop två kolumner till en förvrängd rad. Beskär efter uträtning, så att innehållet sitter rakt i ramen.
Kontrast, gråskala och hur binarisering faktiskt fungerar
OCR körs i slutändan på en binär bild: varje pixel avgörs vara bläck eller papper. Tesseract gör detta internt med Otsu:s metod, som väljer ett enda globalt tröskelvärde från bildhistogrammet. Det fungerar bra när sidan har jämn belysning och god kontrast, och misslyckas när en skugga eller en färgad bakgrund gör ett hörn mörkare än tröskelvärdet förväntar sig. De tillförlitliga vinsterna är att konvertera till gråskala, så att ett färgkast inte kan förvirra tröskelvärdet, och att jämna ut belysningen så att hela sidan befinner sig på en sida av det. Att öka kontrasten måttligt hjälper svag text. Det som vanligtvis slår tillbaka är hård manuell binarisering: om du tröskelvärderar till rent svart och vitt själv med fel avskärning, raderar du svaga streck som motorns eget pass hade behållit. Låt motorn binarisera, och ge den en jämn, gråskalabild att börja med. Sunasty erbjuder gråskala för PDF:er; för fin kontrastjustering är en skrivbordsredigerare fortfarande bättre, men jämn belysning vid skanningen spelar större roll än någon reglage.
Välj rätt språk och kontrollera resultatet
Tesseract läser in en separat tränad datafil per språk och skript. Att köra en engelsk modell på fransk eller grekisk text ger undvikbara fel, särskilt på accentuerade eller icke-latinska tecken, så välj det språk som matchar dokumentet. Slutligen, behandla OCR-resultatet som ett utkast, inte ett slutgiltigt svar: motorn har inget sätt att veta att ett namn är rätt stavat eller att en 0 inte är ett O. Korrekturläs siffror, egennamn och allt som är juridiskt eller ekonomiskt viktigt. För tabeller och flerkollayouter, förvänta dig att behöva rätta strukturen för hand, eftersom OCR returnerar en ström av igenkänd text, inte en rekonstruerad layout.
Verktyg i den här artikeln
- OCR · bild/PDF till textExtrahera text från skannade bilder eller PDF:er helt i din webbläsare, körs offline, ingen uppladdning.
- Räta upp skannade sidorRäta upp sneda skannade PDF:er eller bilder helt i din webbläsare, ingen uppladdning.
- Rotera och spegla bilderRotera bilder 90/180/270° eller spegla dem horisontellt och vertikalt, utan uppladdning.
- Beskär bildBeskär dina bilder med en interaktiv förhandsgranskning, dra och ändra storlek på beskärningsområdet. Ingen uppladdning.
- PDF till gråskalaKonvertera en färg-PDF till gråskala helt i din webbläsare, ingen uppladdning.
- Ändra bildstorlekÄndra storlek på och konvertera dina bilder (JPEG, PNG, WebP) utan att ladda upp dem.
- PDF till bilderKonvertera varje PDF-sida till PNG eller JPG direkt i din webbläsare.
Vanliga frågor
Förbättrar uppskalning av en suddig skanning OCR?
Inte mycket på egen hand. Uppskalning kan inte återskapa detaljer som skanningen aldrig fångade, så en suddig bild på 100 DPI förblir suddig. En måttlig uppskalning kan hjälpa motorn att separera tecken som vidrör varandra genom att ge segmenteringen fler pixlar, men att skanna om vid 300 DPI är mycket mer effektivt än någon mängd uppskalning.
Ska jag konvertera bilden till rent svart och vitt själv först?
Vanligtvis inte. Tesseract binariserar internt med Otsu:s metod, och ett manuellt hårt tröskelvärde med fel avskärning raderar svaga streck som motorn hade behållit. Konvertera till gråskala och jämna ut belysningen istället, och låt sedan motorn välja sitt eget tröskelvärde.
Min text är sidvändad. Roterar OCR den automatiskt?
Ibland. Tesseract har ett orienteringsdetektionspass, men det är opålitligt på formulär, gles text eller bilddominerade sidor. Att rotera sidan upprätt själv med 90, 180 eller 270 grader är förstöringsfritt och eliminerar gissningsleken, så det är det säkrare alternativet.
Laddas mitt dokument upp av något av detta?
Nej. Rotering, uträtning, beskärning, konvertering till gråskala och själva OCR körs alla i webbläsaren. OCR använder en WebAssembly-version av Tesseract, och de tränade språkdata laddas ned en gång och cachelagras. Din fil lämnar aldrig enheten.