Gratis JavaScript-bibliotek til at parse tekst fra scannede billeder og formularer
Open source optisk tegngenkendelse (OCR) JavaScript-bibliotek til at parse tekst fra sort-hvide scannede billeder og dokumenter med billedforbehandling og skabelonunderstøttelse i web- eller Node.js-applikationer.
I den moderne digitale verden spiller optisk tegngenkendelse (OCR) teknologi en afgørende rolle i at omdanne scannede billeder, håndskrevne noter eller trykte dokumenter til redigerbare og søgbare data. For JavaScript-udviklere, der søger en letvægts- og open-source-løsning, tilbyder Guten OCR et overbevisende valg. Denne JavaScript-baserede OCR-motor er designet med enkelhed for øje, hvilket gør den ideel til at indlejre OCR-funktioner direkte i browser-baserede eller Node.js-applikationer. Der er flere vigtige funktioner i biblioteket, såsom tegngenkendelse via skabeloner, billedthresholding og binarisering, tegnsegmentering, skabelonmatchning og tekstsamling, modulær kodebase-understøttelse osv. Den fokuserer på at genkende trykt tekst fra sort-hvide scannede dokumenter og er bedst egnet til velformateret tekst, såsom bøger eller formularer.
Guten OCR er en open-source JavaScript OCR-motor oprettet af Gutenye. I modsætning til tunge OCR-værktøjer, der kræver eksterne afhængigheder eller omfattende opsætning, er Guten OCR skrevet udelukkende i JavaScript, hvilket betyder, at den kan køre i en webbrowser eller på serveren med Node.js. Biblioteket bruger grundlæggende billedbehandlingsteknikker til at segmentere tegn og identificere dem ved hjælp af et mønstergenkendelsessystem for tegn. Selvom den endnu ikke kan konkurrere med kommercielle OCR-motorer som Tesseract med hensyn til flersprogs- eller håndskrevet tekststøtte, gør dens enkelhed og hackbarhed den til et fantastisk valg til uddannelsesprojekter, proof-of-concepts eller indlejrede OCR-funktioner i tilpassede webapps. I modsætning til Tesseract eller andre større motorer er Guten OCR bevidst letvægts og fokuseret – hvilket gør den til et fremragende udgangspunkt for dem, der ønsker at forstå, hvordan OCR fungerer under motorhjelmen.
Kom i gang med Guten OCR
Den anbefalede måde at installere Guten OCR på er ved at bruge Brew. Brug venligst følgende kommando for en problemfri installation
Installer Guten OCR via Brew
brew install git-lfs Installer Guten OCR via GitHub
git clone git@github.com:gutenye/ocr.git Du kan også installere det manuelt; download de seneste udgivelsesfiler direkte fra GitHub-arkivet.
Billedforbehandling før OCR-operationer
Det open source Guten OCR-bibliotek er skrevet udelukkende i JavaScript, hvilket gør det kompatibelt med både browser- og Node.js-miljøer. Det inkluderer indbyggede billedforbehandlingsfunktioner for at forbedre genkendelsesnøjagtigheden. Det understøtter billedbinarisering (konvertering til sort/hvid), støjreduktion, skævhedsrettelse og mere. Det følgende eksempel viser, hvordan udviklere kan anvende flere billedforbehandlingstrin, før de udfører OCR‑operation på billeder.
Hvordan anvender man billedforbehandling før OCR-operation via JavaScript-biblioteket?
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(/* ... */);
Tegngenkendelse via skabeloner
JavaScript-biblioteket Guten OCR har leveret fuld support til at udføre OCR‑operationer ved hjælp af skabeloner i JavaScript‑applikationer. I hjertet af Guten OCR er et skabelon‑matchningssystem. I stedet for at træne en maskinlæringsmodel bruger det foruddefinerede tegnmønstre. Dette gør systemet hurtigere og lettere at forstå, men mere følsomt over for skrifttype‑ og layout‑konsistens. For at udføre denne opgave gengiver biblioteket hvert tegn (A–Z, a–z, 0–9 osv.) i et canvas, og den binære matrix for hvert tegn bliver en reference‑skabelon. Når et billede analyseres, sammenligner biblioteket billedsegmenter med disse skabeloner for at finde det bedste match. Det gør det ved hjælp af en kombination af vertikal og horisontal linjescanning for at lokalisere afgrænsningsbokse.
Tegnssegmentering via OCR-bibliotek
Det open source JavaScript‑bibliotek Guten OCR gør det muligt for softwareudviklere at udføre tegnsegmentering med lethed. Når billedet er binariseret, er næste skridt at segmentere individuelle tegn. Guten OCR scanner rækker og kolonner for at opdage områder med tætte sorte pixels og adskiller dem i potentielle tegn. Det følgende eksempel demonstrerer, hvordan softwareudviklere kan udføre tegnsegmentering ved hjælp af JavaScript‑OCR‑biblioteket.
Hvordan udfører man tegnsegmentering ved hjælp af JavaScript-biblioteket?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]