Bibliotecă JavaScript gratuită pentru a parsa text din imagini și formulare scanate
Bibliotecă JavaScript open source pentru recunoaștere optică a caracterelor (OCR) destinată parsării textului din imagini și documente scanate alb-negru, cu preprocesare a imaginii și suport pentru șabloane, în aplicații web sau Node.js.
În lumea digitală modernă, tehnologia de recunoaștere optică a caracterelor (OCR) joacă un rol esențial în transformarea imaginilor scanate, notițelor scrise de mână sau documentelor tipărite în date editabile și căutabile. Pentru dezvoltatorii JavaScript care caută o soluție ușoară și open-source, Guten OCR oferă o alegere convingătoare. Acest motor OCR bazat pe JavaScript este conceput cu simplitatea în minte, făcându-l ideal pentru integrarea funcțiilor OCR direct în aplicații bazate pe browser sau Node.js. Există mai multe caracteristici importante ale bibliotecii, cum ar fi recunoașterea caracterelor prin șabloane, pragul și binarizarea imaginii, segmentarea caracterelor, potrivirea șabloanelor și asamblarea textului, suport pentru cod modular și altele. Se concentrează pe recunoașterea textului tipărit din documente scanate în alb-negru și este cel mai potrivit pentru text bine formatat, cum ar fi cărți sau formulare.
Guten OCR este un motor OCR open-source scris în JavaScript, creat de Gutenye. Spre deosebire de instrumentele OCR grele care necesită dependențe externe sau configurări extinse, Guten OCR este scris în întregime în JavaScript, ceea ce înseamnă că poate rula într-un browser web sau pe server cu Node.js. Biblioteca folosește tehnici de procesare de bază a imaginii pentru a segmenta caracterele și a le identifica utilizând un sistem de recunoaștere a tiparelor de caractere. Deși încă nu poate concura cu motoarele OCR comerciale precum Tesseract în ceea ce privește suportul pentru texte multilingve sau scrise de mână, simplitatea și posibilitatea de a fi modificat îl fac o opțiune fantastică pentru proiecte educaționale, concepte demonstrative sau funcționalități OCR integrate în aplicații web personalizate. Spre deosebire de Tesseract sau alte motoare mai mari, Guten OCR este intenționat ușor și concentrat — devenind un punct de plecare excelent pentru cei care doresc să înțeleagă cum funcționează OCR în spatele scenei.
Începeți cu Guten OCR
Cea mai recomandată metodă de instalare a Guten OCR este prin utilizarea Brew. Vă rugăm să folosiți comanda următoare pentru o instalare fără probleme
Instalați Guten OCR prin Brew
brew install git-lfs Instalați Guten OCR prin GitHub
git clone git@github.com:gutenye/ocr.git Poți, de asemenea, să îl instalezi manual; descarcă fișierele ultimei versiuni direct de pe depozitul GitHub.
Preprocesarea imaginii înainte de operațiunile OCR
Biblioteca open source Guten OCR este scrisă în întregime în JavaScript, făcând-o compatibilă atât cu mediul browser, cât și cu Node.js. Include funcții încorporate de preprocesare a imaginilor pentru a îmbunătăți acuratețea recunoașterii. Suportă binarizarea imaginii (convertirea în alb-negru), reducerea zgomotului, corecția înclinării și altele. Exemplul următor arată cum dezvoltatorii pot aplica mai mulți pași de preprocesare a imaginii înainte de a efectua operația OCR pe imagini.
Cum să aplicați preprocesarea imaginii înainte de operația OCR prin bibliotecă JavaScript?
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(/* ... */);
Recunoașterea caracterelor prin șabloane
Biblioteca JavaScript Guten OCR a oferit suport complet pentru efectuarea operațiunilor OCR utilizând șabloane în aplicațiile JavaScript. În centrul Guten OCR se află un sistem de potrivire a șabloanelor. În loc să antreneze un model de învățare automată, folosește modele de caractere predefinite. Acest lucru face sistemul mai rapid și mai ușor de înțeles, dar mai sensibil la consistența fontului și a aspectului. Pentru a îndeplini această sarcină, biblioteca redă fiecare caracter (A–Z, a–z, 0–9, etc.) pe un canvas, iar apoi matricea binară pentru fiecare caracter devine un șablon de referință. Când analizează o imagine, biblioteca compară segmentele imaginii cu aceste șabloane pentru a găsi cea mai bună potrivire. Face acest lucru utilizând o combinație de scanare verticală și orizontală a liniilor pentru a localiza casetele de delimitare.
Segmentarea caracterelor prin biblioteca OCR
Biblioteca JavaScript open source Guten OCR permite dezvoltatorilor de software să efectueze segmentarea caracterelor cu ușurință. Odată ce imaginea este binarizată, următorul pas este segmentarea caracterelor individuale. Guten OCR scanează rândurile și coloanele pentru a detecta zone cu pixeli negri densi, separându-le în caractere potențiale. Exemplul următor demonstrează cum dezvoltatorii de software pot efectua segmentarea caracterelor utilizând biblioteca OCR JavaScript.
Cum să efectuați segmentarea caracterelor utilizând biblioteca JavaScript?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]