1. Produktai
  2.   OCR
  3.   JavaScript
  4.   Guten OCR
 
  

Nemokama JavaScript biblioteka, skirta išskleisti tekstą iš nuskenuotų vaizdų ir formų

Atviro kodo optinio teksto atpažinimo (OCR) JavaScript biblioteka, skirta išgauti tekstą iš juodai baltų nuskenuotų vaizdų ir dokumentų, su vaizdo išankstiniu apdorojimu ir šablonų palaikymu žiniatinklio arba Node.js programose.

Šiuolaikiniame skaitmeniniame pasaulyje optinio simbolių atpažinimo (OCR) technologija atlieka svarbų vaidmenį konvertuojant nuskenuotus vaizdus, ranka rašytas pastabas ar spausdintus dokumentus į redaguojamus ir paieškos sistemoms tinkamus duomenis. JavaScript kūrėjams, ieškantiems lengvo ir atviro kodo sprendimo, Guten OCR siūlo patrauklų pasirinkimą. Šis JavaScript pagrindu veikiantis OCR variklis sukurtas paprastumo principu, todėl puikiai tinka OCR funkcijų integravimui tiesiai į naršyklės ar Node.js programas. Bibliotekoje yra keli svarbūs funkcionalumai, tokie kaip simbolių atpažinimas pagal šablonus, vaizdo slenkstinė filtracija ir binarizavimas, simbolių segmentavimas, šablonų atitikimas ir teksto surinkimas, modulinių kodo bazės palaikymas ir t.t. Ji orientuota į spausdinto teksto atpažinimą iš juodai baltų nuskenuotų dokumentų ir geriausiai tinka gerai suformatuotam tekstui, pavyzdžiui, knygoms ar formoms.

Guten OCR yra atviro kodo JavaScript OCR variklis, sukurtas Gutenye. Skirtingai nuo sunkių OCR įrankių, kuriems reikia išorinių priklausomybių ar išsamios konfigūracijos, Guten OCR parašytas visiškai JavaScript kalba, todėl jis gali veikti žiniatinklio naršyklėje arba serveryje su Node.js. Biblioteka naudoja paprastus vaizdo apdorojimo metodus, kad segmentuotų simbolius ir atpažintų juos naudojant simbolių šablonų atpažinimo sistemą. Nors dar neišsiskiria komercinių OCR variklių, tokių kaip Tesseract, daugiakalbės ar ranka rašytos teksto palaikymo srityje, jo paprastumas ir modifikuojamumas daro jį puikia galimybe edukaciniams projektams, koncepcijos patikrinimams arba įterptoms OCR funkcijoms pritaikytose tinklalapių programose. Skirtingai nuo Tesseract ar kitų didesnių variklių, Guten OCR yra tyčiai lengvas ir sutelktas – todėl tai puikus pradžios taškas tiems, kurie nori suprasti, kaip OCR veikia viduje.

Previous Next

Pradžia su Guten OCR

Rekomenduojamas būdas įdiegti Guten OCR yra naudojant Brew. Prašome naudoti šią komandą sklandžiam įdiegimui.

Įdiekite Guten OCR per Brew

 brew install git-lfs 

Įdiekite Guten OCR per GitHub

 git clone git@github.com:gutenye/ocr.git 

Taip pat galite įdiegti rankiniu būdu; atsisiųskite naujausius leidimo failus tiesiai iš GitHub saugyklos.

Vaizdo išankstinis apdorojimas prieš OCR operacijas

Atviro kodo Guten OCR biblioteka parašyta visiškai JavaScript kalba, todėl ji suderinama tiek su naršykle, tiek su Node.js aplinka. Joje yra įmontuotos vaizdo išankstinės apdorojimo funkcijos, padedančios pagerinti atpažinimo tikslumą. Ji palaiko vaizdo binarizavimą (konvertavimą į juodai baltą), triukšmo mažinimą, pasvirimo korekciją ir dar daugiau. Žemiau pateiktas pavyzdys rodo, kaip kūrėjai gali taikyti kelis vaizdo išankstinio apdorojimo žingsnius prieš atliekant OCR operaciją su vaizdais.

Kaip taikyti vaizdo išankstinį apdorojimą prieš OCR operaciją naudojant JavaScript biblioteką?

const { preprocess } = require('guten-ocr');

// Apply multiple preprocessing steps
const processedImage = preprocess(imageData, [
  'grayscale',    // Convert to grayscale
  'binarize',     // Convert to black and white
  'deskew',       // Correct skew
  'denoise'       // Reduce noise
]);

// Then perform OCR on the processed image
ocr.recognize(processedImage).then(/* ... */);

Simbolių atpažinimas naudojant šablonus

JavaScript biblioteka Guten OCR suteikė visišką palaikymą OCR operacijų vykdymui naudojant šablonus JavaScript programose. Guten OCR širdyje yra šablonų atitikimo sistema. Vietoj mašininio mokymosi modelio mokymo, ji naudoja iš anksto apibrėžtus simbolių šablonus. Tai daro sistemą greitesnę ir lengviau suprantamą, tačiau jautresnę šriftų ir išdėstymo nuoseklumui. Norint atlikti šią užduotį, biblioteka atvaizduoja kiekvieną simbolį (A–Z, a–z, 0–9 ir t.t.) drobėje, o po to binarinė matrica kiekvienam simboliui tampa šablono šablonu. Analizuojant vaizdą, biblioteka lygina vaizdo segmentus su šiais šablonais, kad rastų geriausią atitikmenį. Tai atliekama naudojant vertikalių ir horizontalių linijų skenavimą, siekiant rasti ribinius laukus.

Simbolių segmentavimas naudojant OCR biblioteką

Atviro kodo JavaScript biblioteka Guten OCR leidžia programinės įrangos kūrėjams lengvai atlikti simbolių segmentavimą. Kai vaizdas yra binarizuotas, kitas žingsnis – atskirti atskirus simbolius. Guten OCR skenuoja eilutes ir stulpelius, kad aptiktų sritis su tankiais juodais pikseliais, atskirdama jas į galimus simbolius. Žemiau pateiktas pavyzdys demonstruoja, kaip programinės įrangos kūrėjai gali atlikti simbolių segmentavimą naudojant JavaScript OCR biblioteką.

Kaip atlikti simbolių segmentavimą naudojant JavaScript biblioteką?

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 Lietuvių