Artikkel
Forbedre OCR-nøyaktigheten: fiks bildet før du gjenkjenner teksten
OCR er bare så god som bildet du gir den. En skjev, lavkontrastig, støyende skanning gir rotete tekst uansett hvor god motoren er. Her er det som faktisk gjør en forskjell, i den rekkefølgen du bør gjøre det, alt kjøres lokalt i nettleseren.
Hvorfor OCR sliter med virkelige skanninger
En OCR-motor som Tesseract ble trent på ren, horisontal tekst med høy kontrast. Den deler en side i linjer, linjer i ord og ord i tegnformer, og matcher deretter hver form mot sin trente modell. Virkelige skanninger bryter disse forutsetningene: siden er vippet noen grader, belysningen er ujjevn, oppløsningen er lav, og kanten på skannerbunnen eller motstående side legger til mørkt støy. Hvert av disse problemene får linjesegmenteringssteget til å gjette feil, og en feil segmentering fører til feil tegn. Løsningen er sjelden en annen motor: det handler om å forberede bildet slik at motorens forutsetninger holder. I praksis forbedrer forbehandling nøyaktigheten mer enn valget av OCR-motor gjør.

Start med oppløsning: sikt på 300 DPI
Tesseract fungerer best ved rundt 300 DPI for normal brødtekst. Under omtrent 200 DPI flyter strekene i hvert tegn sammen med naboene og nøyaktigheten faller kraftig. Hvis du styrer skanningen, still inn skanneren på 300 DPI før alt annet, siden det er det enkelt viktigste valget. Hvis du bare har et lavoppløselig bilde, skaper ikke oppskalering detaljer som aldri ble fanget, men en moderat oppskalering kan likevel hjelpe motoren med å skille tegn som rører hverandre ved å gi segmenteringen flere piksler å jobbe med. Svært liten skrift har nytte av 400 til 600 DPI; utover det vokser bare filen uten nøyaktighetsgevinst. Når kilden er en PDF, rasteriser hver side til et bilde ved mål-DPI-et først, og kjør deretter OCR på det bildet.
Rett orientering
Hvis siden er rotert 90, 180 eller 270 grader, leser motoren sidelengs eller opp ned og returnerer nonsens. Tesseract har et orienteringsdeteksjonspass (OSD) som kan gjette rotasjonen, men det er upålitelig på glissen tekst, skjemaer eller sider dominert av bilder. Å rotere siden oppreist selv fjerner gjetteleken. Dette trinnet er tapsfritt og øyeblikkelig: å rotere med et multiplum av 90 grader remapper bare eksisterende piksler til nye posisjoner, uten kvalitetstap og ingen resampling. Gjør det før rettutretting, fordi rettutretting forutsetter at teksten allerede er omtrent horisontal.
Rettutretting: rett ut den lille vinkelen
Selv en vinkel på 2 til 3 grader, den typen du får fra å mate inn en side litt skjevt, skader OCR: det horisontale linjesøkingssteget deler en tekstlinje i to, eller slår to linjer sammen til én. Rettutretting måler den dominerende vinkelen på tekstlinjene (vanligvis med en projeksjonsprofilanalyse eller Hough-transformanalyse) og roterer siden tilbake til horisontalt. I motsetning til en 90-graders rotasjon er rettutretting en liten rotasjon med vilkårlig vinkel, som resampler piksler og legger til en liten mengde uskarphet. Det bytte er nesten alltid verdt det, fordi rette linjer segmenteres rent og nøyaktighetsgevinsten langt oppveier den lille mykheten. Rett ut etter å ha fikset orientering og før beskjæring.

Beskjær til teksten og fjern støyen
Alt som ikke er teksten du vil ha, er støy som motoren kan mistolke: den mørke kanten på skannerbunnen, del av motstående side, et stiftet hjørne, en finger eller et hullslagshull. Å beskjære til bare tekstblokken fjerner disse falske målene, noe som både forbedrer nøyaktigheten og gjør gjenkjenningen raskere fordi motoren har et mindre område å analysere. For et dokument med flere kolonner forhindrer beskjæring (eller å kjøre OCR én kolonne om gangen) også at motoren leser rett over midtmargen og blander to kolonner til én rotete linje. Beskjær etter rettutretting, slik at innholdet sitter rett i rammen.
Kontrast, gråtoner og hvordan binarisering faktisk fungerer
OCR kjøres til syvende og sist på et binært bilde: hver piksel avgjøres å være blekk eller papir. Tesseract gjør dette internt ved hjelp av Otsu:s metode, som velger en enkelt global terskel fra bildehistogrammet. Det fungerer bra når siden har jevn belysning og god kontrast, og mislykkes når en skygge eller en farget bakgrunn gjør et hjørne mørkere enn terskelen forventer. De pålitelige gevinstene er å konvertere til gråtoner, slik at et fargestikk ikke kan forvirre terskelen, og å jevne ut belysningen slik at hele siden befinner seg på én side av den. Å øke kontrasten moderat hjelper svak tekst. Det som vanligvis slår tilbake er hard manuell binarisering: hvis du terskeler til rent svart og hvitt selv med feil avskjæring, sletter du svake streker som motorens eget pass ville ha beholdt. La motoren binarisere, og gi den et jevnt, gråtonebilde å starte fra. Sunasty tilbyr gråtoner for PDF:er; for fin kontrastjustering er en skrivebordsredigerer fortsatt bedre, men jevn belysning ved skannetidspunktet betyr mer enn noen glidebryter.
Velg riktig språk og kontroller resultatet
Tesseract laster inn en separat trent datafil per språk og skript. Å kjøre en engelsk modell på fransk eller gresk tekst gir unngåelige feil, spesielt på aksentuerte eller ikke-latinske tegn, så velg det språket som samsvarer med dokumentet. Til slutt, behandle OCR-resultatet som et utkast, ikke et endelig svar: motoren har ingen måte å vite at et navn er riktig stavet eller at en 0 ikke er en O. Korrekturles tall, egennavn og alt som er juridisk eller økonomisk viktig. For tabeller og flerkolonneoppsett, forvent å måtte rette strukturen for hånd, fordi OCR returnerer en strøm av gjenkjent tekst, ikke en rekonstruert layout.
Verktøy i denne artikkelen
- OCR · bilde/PDF til tekstHent ut tekst fra skannede bilder eller PDF-er helt i nettleseren, kjører frakoblet, ingen opplasting.
- Rett opp skannede siderRett opp skjeve skannede PDF-er eller bilder helt i nettleseren, ingen opplasting.
- Roter og speil bilderRoter bilder 90/180/270° eller speil dem horisontalt og vertikalt, uten opplasting.
- Beskjær bildeBeskjær bildene dine med en interaktiv forhåndsvisning, dra og endre størrelse på beskjæringsområdet. Ingen opplasting.
- PDF til gråtonerKonverter en farget PDF til gråtoner helt i nettleseren, ingen opplasting.
- Endre bildestørrelseEndre størrelse og konverter bildene dine (JPEG, PNG, WebP) uten å laste dem opp.
- PDF til bilderKonverter hver PDF-side til PNG eller JPG direkte i nettleseren din.
Ofte stilte spørsmål
Forbedrer oppskalering av en uklar skanning OCR?
Ikke mye alene. Oppskalering kan ikke gjenopprette detaljer skanningen aldri fanget, så et uklart bilde på 100 DPI forblir uklart. En moderat oppskalering kan hjelpe motoren med å skille tegn som rører hverandre ved å gi segmenteringen flere piksler, men å skanne på nytt ved 300 DPI er langt mer effektivt enn noen mengde oppskalering.
Bør jeg konvertere bildet til rent svart og hvitt selv først?
Vanligvis ikke. Tesseract binariserer internt med Otsu:s metode, og en manuell hard terskel med feil avskjæring sletter svake streker som motoren ville ha beholdt. Konverter til gråtoner og jevn ut belysningen i stedet, og la deretter motoren velge sin egen terskel.
Teksten min er sidelengs. Vil OCR rotere den automatisk?
Av og til. Tesseract har et orienteringsdeteksjonspass, men det er upålitelig på skjemaer, glissen tekst eller bildetunge sider. Å rotere siden oppreist selv med 90, 180 eller 270 grader er tapsfritt og fjerner gjetteleken, så det er det sikrere valget.
Lastes dokumentet mitt opp av noe av dette?
Nei. Rotering, rettutretting, beskjæring, konvertering til gråtoner og selve OCR kjøres alle i nettleseren. OCR bruker en WebAssembly-versjon av Tesseract, og de trente språkdataene lastes ned én gang og mellomlagres. Filen din forlater aldri enheten.