Ilmainen JavaScript-kirjasto tekstin jäsentämiseen skannatuista kuvista ja lomakkeista
Avoimen lähdekoodin optinen tekstintunnistus (OCR) JavaScript‑kirjasto tekstin jäsentämiseen mustavalkoisista skannatuista kuvista ja asiakirjoista, jossa on kuvan esikäsittely‑ ja mallituki verkkosovelluksissa tai Node.js‑sovelluksissa.
Nykyaikaisessa digitaalisessa maailmassa optinen merkkien tunnistus (OCR) -teknologia on keskeisessä roolissa skannattujen kuvien, käsinkirjoitettujen muistiinpanojen tai painettujen asiakirjojen muuntamisessa muokattavaksi ja haettavaksi dataksi. JavaScript-kehittäjille, jotka etsivät kevyttä ja avoimen lähdekoodin ratkaisua, Guten OCR tarjoaa houkuttelevan vaihtoehdon. Tämä JavaScript-pohjainen OCR-moottori on suunniteltu yksinkertaisuutta silmällä pitäen, mikä tekee siitä ihanteellisen OCR-ominaisuuksien upottamiseen suoraan selainpohjaisiin tai Node.js-sovelluksiin. Kirjastossa on useita tärkeitä ominaisuuksia, kuten merkkien tunnistus mallien avulla, kuvan rajaaminen ja binarisointi, merkkien segmentointi, mallien vertailu ja tekstin kokoaminen, modulaarinen koodipohjan tuki jne. Se keskittyy painetun tekstin tunnistamiseen mustavalkoisista skannatuista asiakirjoista ja soveltuu parhaiten hyvin muotoillulle tekstille, kuten kirjoille tai lomakkeille.
Guten OCR on avoimen lähdekoodin JavaScript OCR -moottori, jonka on luonut Gutenye. Toisin kuin raskaat OCR-työkalut, jotka vaativat ulkoisia riippuvuuksia tai laajaa asennusta, Guten OCR on kirjoitettu kokonaan JavaScriptillä, mikä tarkoittaa, että se voi toimia verkkoselaimessa tai palvelimella Node.js:n kanssa. Kirjasto käyttää peruskuvankäsittelytekniikoita merkkien segmentointiin ja niiden tunnistamiseen merkkikuviotunnistusjärjestelmän avulla. Vaikka se ei vielä kilpaile kaupallisten OCR-moottoreiden, kuten Tesseractin, kanssa monikielisen tai käsinkirjoitetun tekstin tuessa, sen yksinkertaisuus ja muokattavuus tekevät siitä loistavan vaihtoehdon opetusprojekteihin, konseptien todistamiseen tai upotettuihin OCR-ominaisuuksiin räätälöidyissä web-sovelluksissa. Toisin kuin Tesseract tai muut suuremmat moottorit, Guten OCR on tarkoituksellisesti kevyt ja keskittynyt—mikä tekee siitä erinomaisen lähtökohdan niille, jotka haluavat ymmärtää, miten OCR toimii sisäisesti.
Aloittaminen Guten OCR:n kanssa
Suositeltu tapa asentaa Guten OCR on Brewin käyttö. Käytä seuraavaa komentoa sujuvan asennuksen varmistamiseksi
Asenna Guten OCR Brewin kautta
brew install git-lfs Asenna Guten OCR GitHubin kautta
git clone git@github.com:gutenye/ocr.git Voit myös asentaa sen manuaalisesti; lataa uusimmat julkaisutiedostot suoraan GitHub-varastosta.
Kuvan esikäsittely ennen OCR-toimintoja
Open source - Guten OCR -kirjasto on kirjoitettu kokonaan JavaScriptillä, mikä tekee siitä yhteensopivan sekä selaimen että Node.js-ympäristöjen kanssa. Se sisältää sisäänrakennettuja kuvan esikäsittelytoimintoja tarkkuuden parantamiseksi. Se tukee kuvan binarisointia (muuntaminen mustavalkoiseksi), kohinan vähentämistä, vinouden korjausta ja muuta. Seuraava esimerkki näyttää, miten kehittäjät voivat soveltaa useita kuvan esikäsittelyvaiheita ennen OCR-toiminnon suorittamista kuville.
Kuinka soveltaa kuvan esikäsittelyä ennen OCR-toimintoa JavaScript-kirjaston avulla?
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(/* ... */);
Merkkien tunnistus mallien avulla
JavaScript-kirjasto Guten OCR on tarjonnut täyden tuen OCR-toimintojen suorittamiseen mallien avulla JavaScript-sovelluksissa. Guten OCR:n ytimessä on mallien vastausjärjestelmä. Sen sijaan, että koulutettaisiin koneoppimismalli, se käyttää ennalta määritettyjä merkkimalleja. Tämä tekee järjestelmästä nopeamman ja helpommin ymmärrettävän, mutta se on herkempi fontti- ja asettelukonsistenssille. Tämän tehtävän suorittamiseksi kirjasto renderöi jokaisen merkin (A–Z, a–z, 0–9, jne.) canvas-elementtiin, ja jokaisen merkin binäärimatriisi toimii referenssimallina. Kun kuvaa analysoidaan, kirjasto vertaa kuvasegmenttejä näihin malleihin löytääkseen parhaan vastaavuuden. Se tekee tämän yhdistämällä pystysuoran ja vaakasuoran linjaskannauksen raja-alueiden paikantamiseksi.
Merkkien segmentointi OCR‑kirjaston avulla
Avoimen lähdekoodin JavaScript-kirjasto Guten OCR mahdollistaa ohjelmistokehittäjien suorittaa merkkien segmentointi helposti. Kun kuva on binäärisoitu, seuraava vaihe on yksittäisten merkkien segmentointi. Guten OCR skannaa rivejä ja sarakkeita havaitakseen alueita, joissa on tiheää mustaa pikseliä, ja erottaa ne mahdollisiksi merkeiksi. Seuraava esimerkki osoittaa, miten ohjelmistokehittäjät voivat suorittaa merkkien segmentoinnin JavaScript OCR -kirjaston avulla.
Kuinka suorittaa merkkien segmentointi JavaScript-kirjaston avulla?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]