„VietOCR“ yra „Java“ technologija pagrįsta grafinė aplinka, leidžianti naudotis „Tesseract OCR“ optinio ženklų atpažinimo moduliu ir yra skirta automatiškai atpažinti nuskenuoto rašto ženklus. Programa numato populiariausius vaizdų formatus, leidžia naudoti kelis ar daugiau puslapių viename vaizdo faile. Be to, programa gali papildomai aptvarkyti atpažintą tekstą, ištaisydama būdingiausias teksto atpažinimo metu pasitaikančias klaidas. Tai padeda pasiekti daug geresnės rezultato kokybės. Programa gali veikti ir terminalo ekrane, ją startuojant komandinėje eilutėje.
Programoje numatytas ir urminis vaizdų apdorojimas. Programa gali stebėti nurodytą aplanką ir, jame atsiradus naujų failų, automatiškai juos apdoroti, o atpažintus tekstus įrašyti į rezultatams talpinti nurodytą aplanką.
„Java Runtime Environment 8“ ar vėlesnė laida.
„Tesseract 3.05“ vykdomasis failas „Windows“ aplinkai pateikiamas kartu su programa. Papildomi kalbinių duomenų paketai, kurių vardai prasideda ISO639-3 kodais, turėtų būti talpinami į poaplankį tessdata
.
„Ubuntu Linux“ atveju „Tesseract“ ir šiai programai skirti kalbinių duomenų paketai yra paketų saugykloje „Grafika (universe)“. Juos galite įdiegti, pasinaudodami „Synaptic“ arba šia komanda:
sudo apt-get install tesseract-ocr tesseract-ocr-eng tesseract-ocr-lit
Įvykdžius šią komandą, programos failai bus įdiegti į aplanką /usr/bin
, o kalbiniai duomenys – į /usr/share/tesseract-ocr/tessdata
. Tuo atveju, jeigu „Tesseract“ kompiliuosite ir diegsite iš pirminių tekstų, šie failai bus patalpinti atitinkamai į aplankus /usr/local/bin
ir /usr/local/share/tessdata
. „Tesseract“ vykdomojo failo kelią galite nurodyti „VietOCR“ nuostatose. Jeigu kalbiniai duomenys
yra neįprastesnėje vietoje, tessdata
aplanke gali tekti sukurti simbolinę nuorodą į juos. Taip pat apie tessdata
aplanko vietą programą „VietOCR“ galite informuoti, nustatydami TESSDATA_PREFIX
aplinkos kintamojo reikšmę:
export TESSDATA_PREFIX=/usr/local/share/
Jeigu naudojatės čia nepaminėta platforma, išsamesnės informacijos rasite „Tesseract“ vikyje.
„VietOCR“ geba parsiųsti ir įdiegti kalbinių duomenų paketus kai kurioms kalboms; šia funkcija galite pasinaudoti, iškviesdami meniu Nuostatos punktą Parsiųsti kalbinius duomenis. Jeigu tessdata
aplankas yra sisteminio aplanko (pvz., /usr
„Linux“ sistemoje ar C:\Program Files
„Windows“ sistemoje) viduje, kalbiniams duomenims įdiegti programą gali reikėti vykdyti administratoriaus teisėmis.
Skenerio programiniam palaikymui „Windows“ sistemose yra naudojama „Windows Image Acquisition Library (WIA) v2.0“ biblioteka, kuriai būtina „Windows XP SP1“ ar naujesnė šios operacinės sistemos laida. Su „Windows Vista“ ir „Windows 7“ ši biblioteka pateikiama iškart, o į „Windows XP“ ji įdiegiama, nukopijuojant failą wiaaut.dll
į sistemos System32
aplanką (dažniausiai jo kelias – C:\Windows\System32
) ir jį užregistruojant tokia komanda:
regsvr32 C:\Windows\System32\wiaaut.dll
„Linux“ sistemoje, skenavimui reikia įdiegti SANE paketus:
sudo apt-get install libsane sane sane-utils libsane-extras xsane
PDF failų palaikymas galimas naudojant „GPL Ghostscript“ priemonę. Ją įdiegus, reikia užtikrinti, kad dinaminė biblioteka (gsdll32.dll
arba libgs.so
) patektų į sisteminės failų paieškos kelią, papildant atitinkamą aplinkos kintamąjį. „Windows“ sistemoje tai yra kintamasis Path
, kurį galite redaguoti, atvėrę Valdymo skydą, jame spustelėję piktogramą „Sistema“, tada atverę kortelę „Išsamiau“ ir spustelėję mygtuką „Aplinkos kintamieji“. Pavyzdžiui, „GhostScript 9.20“ atveju, šį kintamąjį reikėtų papildyti tokia eilute:
„Linux“ sistemoje:
;C:\Program Files\gs\gs9.20\bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
kur /usr/lib
aplanke yra nuoroda libgs.so
, nurodanti failą libgs.so.9.20
.
Rašybos tikrinimo funkcija galima panaudojant „Hunspell“ tikrintuvę, kurios žodynų failai (.aff
, .dic
) turėtų būti patalpinti į aplanką dict
, esantį „VietOCR“ programos aplanke. Be to, šiame aplanke galite sukurti UTF-8 koduoto teksto failą user.dic
su papildomais žodžiais, nesančiais žodyne (vienas žodis eilutėje).
„Linux“ sistemoje „Hunspell“ bei žodynus galite įdiegti, naudodamiesi programa „Synaptic“ arba apt
įrankiu:
sudo apt-get install hunspell hunspell-en-us myspell-lt
Programą paleisite tokia komanda:
java -jar VietOCR.jar
Pastaba: jeigu susiduriate su atminties trūkumo problema, bandykite įvykdyti ne .jar failą, bet ocr
scenarijų.
Kalbinių duomenų failai yra generuojami konkretiems šriftams, todėl programai geriausiai sekasi atpažinti jai žinomais ar panašių glifų šriftais rašytus tekstus. Prireikus vaizduose atpažinti kitais šriftais rašytą tekstą, reikės „Tesseract“ programą papildomai apmokyti, sukuriant naujus kalbos duomenų failus. Kiek išsamiau lietuviškai apie „Tesseract“ galite paskaityti Donato Glodenio tinklaraštyje.
Ženklų atpažinimui teksto failo vaizdai turi būti nuskaitomi nuo 200 iki 400 taškų colyje raiška, naudojant juodai baltą arba pilkumo tonų veikseną. Aukštesnės raiškos vaizdai nebūtinai pagerins ženklų atpažinimo kokybę, kuri ir taip yra pakankamai aukšta, ir kitose „Tesseract“ laidose gali dar pagerėti. Reali ženklų atpažinimo kokybė priklauso nuo nuskenuoto vaizdo kokybės. Rekomenduojamos nuostatos skenuojamam vaizdui yra tokios: 300 taškų colyje, 1 bitas taškui (1bpp; juodai balta veiksena) arba 8 bitai taškui (8bpp; pilkumo tonai), vaizdą įrašant į neglaudintą TIFF arba PNG formato failą.
Žemos raiškos (ekranvaizdžio) veiksena įgalina pagerinti žemos raiškos vaizdų atpažinimo kokybę. Šioje veiksenoje, prieš atpažįstant tekstą, žemos raiškos (pvz. ekrano) vaizdų raiška padidinama iki 300 taškų colyje.
Programa numato galimybę jau esamą teksto apdorojimo algoritmą papildyti savuoju. Pridėkite savo pritaikytą teksto ženklų pakeitimo schemą įrašytą faile UTF-8-encoded tab-delimited x.DangAmbigs.txt
, simbolį „x“ pakeisdami ISO639-3 standarto kalbos kodu (pvz., lietuvių kalbos kodas – „lit“). Tiek paprasti ir Reguliariai išraiška teksto endoprotezai yra palaikomi.
Papildomai įtakoti „Tesseract“ veikimą galite, įrašydami papildomus valdymo parametrus Į failus tessdata/configs/tess_configs
(tik inicijavimo parametrus) ir tess_configvars
(ne inicijavimo parametrus).
Programoje įtaisyti įtankiai, kuriais galite sujungti keletą vaizdų arba PDF failų į vieną arba išskaidyti per daug puslapių turinčius TIFF ar PDF failus. Kartais patogiau apdoroti vieną failą, bet ne daug smulkių, o kartais, siekiant išvengti atminties stygiaus problemų, tenka padalinti vieną didelį failą į mažesnes dalis.
Teksto atpažinimo klaidos paprastai gali būti skirstomos į tris kategorijas. Dauguma klaidų susiję su raidžių registru (pavyzdžiui, „šūVis“) – jos lengvai pataisomos bet kuria su unikodu koduotais tekstais gebančia dirbti tekstų rengykle. Kita klaidų rūšis susijusi su ženklų atpažinimo proceso problemomis, kai raidės supainiojamos dėl diakritinių ženklų arba formos panašumų. Tai nesunkiai pataisoma teksto rašybos taisymo programomis. Programoje įtaisyta nuskaityto teksto papildomo aptvarkymo funkcija leidžia pašalinti daugumą šių tipų klaidų.
Trečiosios kategorijos klaidas aptikti sunkiausia, nes jos yra semantinės. Šių klaidų atveju atpažinti žodžiai yra gramatiškai teisingi, tačiau prie konteksto jie nedera (pavyzdžiui, „sala“ ir „sąla“). Tokias atvejais tik žmogus, perskaitęs sakinį ir supratęs jo kontekstą, gali sugrąžinti žodį, buvusį originaliame dokumente.
Pateikiame instrukciją, kaip taisyti pirmos ir antros kategorijos teksto ženklų atpažinimo klaidas tiesiogiai programos lange:
Atlikus šiuos žingsnius, dauguma klaidų bus pašalintos. Likusios klaidos susiję su teksto semantika. Jos reikalauja žmogaus – tekstų redaktoriaus – pastangų. Redaktorius skaitys originalo tekstą ir ištaisys tas vietas, kuriose automatinis klaidų šalinimas negalėjo padėti.
Jeigu turite kokių nors klausimų, kviečiame kreiptis į AKL biuro programų forumą arba angliškai į šios programos naudotojų forumą.