Free JavaScript Library to Parse Text from Scanned Images & Forms
Open Source Optical Character Recognition (OCR) JavaScript library for Parsing Text from Black-&-White Scanned Images & Documents with Image Preprocessing & Templates Support in Web or Node.js Apps.
V moderním digitálním světě hraje technologie optického rozpoznávání znaků (OCR) klíčovou roli při převodu naskenovaných obrázků, ručně psaných poznámek nebo tištěných dokumentů na editovatelná a prohledávatelná data. Pro vývojáře JavaScriptu, kteří hledají lehké a open-source řešení, nabízí Guten OCR přesvědčivou volbu. Tento na JavaScriptu založený OCR engine je navržen s důrazem na jednoduchost, což ho činí ideálním pro vložení OCR funkcí přímo do prohlížečových nebo Node.js aplikací. Knihovna obsahuje několik důležitých funkcí, jako je rozpoznávání znaků pomocí šablon, prahování a binarizace obrázků, segmentace znaků, porovnávání šablon a sestavování textu, podpora modulárního kódu a další. Zaměřuje se na rozpoznávání tištěného textu z černobílých naskenovaných dokumentů a je nejvhodnější pro dobře strukturovaný text, jako jsou knihy nebo formuláře.
Guten OCR je open-source JavaScript OCR engine vytvořený společností Gutenye. Na rozdíl od těžkopádných OCR nástrojů, které vyžadují externí závislosti nebo rozsáhlé nastavení, je Guten OCR napsán zcela v JavaScriptu, což znamená, že může běžet ve webovém prohlížeči nebo na serveru s Node.js. Knihovna používá základní techniky zpracování obrázků k segmentaci znaků a jejich identifikaci pomocí systému rozpoznávání vzorů znaků. I když zatím nedokáže konkurovat komerčním OCR engineům jako Tesseract v oblasti vícejazyčné podpory nebo rozpoznávání ručně psaného textu, jeho jednoduchost a možnost úprav z něj činí skvělou volbu pro vzdělávací projekty, proof-of-concepty nebo vložené OCR funkce v zakázkových webových aplikacích. Na rozdíl od Tesseractu nebo jiných větších engineů je Guten OCR úmyslně lehký a zaměřený – což z něj dělá vynikající výchozí bod pro ty, kteří chtějí pochopit, jak OCR funguje pod povrchem.
Začínáme s Guten OCR
Doporučený způsob instalace Guten OCR je pomocí Brew. Použijte prosím následující příkaz pro hladkou instalaci
Instalace Guten OCR pomocí Brew
brew install git-lfs Instalace Guten OCR přes GitHub
git clone git@github.com:gutenye/ocr.git Můžete jej také nainstalovat ručně; stáhněte nejnovější soubory vydání přímo z repozitáře GitHub .
Předzpracování obrázku před OCR operacemi
Open source knihovna Guten OCR je napsána zcela v JavaScriptu, což ji činí kompatibilní jak s prohlížečem, tak s prostředím Node.js. Obsahuje vestavěné funkce předzpracování obrázku, které zvyšují přesnost rozpoznávání. Podporuje binarizaci obrázku (převod na černobílý), redukci šumu, korekci sklonu a další. Následující příklad ukazuje, jak vývojáři mohou aplikovat více kroků předzpracování obrázku před provedením OCR operace na obrázcích.
Jak aplikovat předzpracování obrázku před OCR operací pomocí JavaScript knihovny?
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(/* ... */);
Rozpoznávání znaků pomocí šablon
JavaScriptová knihovna Guten OCR poskytuje kompletní podporu pro provádění OCR operací pomocí šablon v JavaScriptových aplikacích. V jádru Guten OCR je systém porovnávání šablon. Místo trénování modelu strojového učení používá předdefinované vzory znaků. To činí systém rychlejším a snáze pochopitelným, ale také citlivějším na konzistenci písma a rozvržení. Pro tento úkol knihovna vykresluje každý znak (A–Z, a–z, 0–9, atd.) na plátno a binární matice pro každý znak se stane referenční šablonou. Při analýze obrázku knihovna porovnává segmenty obrázku s těmito šablonami, aby našla nejlepší shodu. Používá kombinaci vertikálního a horizontálního skenování řádků k určení ohraničujících rámečků.
Segmentace znaků pomocí OCR knihovny
Open source JavaScriptová knihovna Guten OCR umožňuje vývojářům snadno provádět segmentaci znaků. Jakmile je obrázek binarizován, dalším krokem je segmentace jednotlivých znaků. Guten OCR skenuje řádky a sloupce, aby detekoval oblasti s hustými černými pixely, které odděluje do potenciálních znaků. Následující příklad ukazuje, jak vývojáři mohou provádět segmentaci znaků pomocí JavaScript OCR knihovny.
Jak provést segmentaci znaků pomocí JavaScript knihovny?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]