Open Source JavaScript API pro přidávání a správu OCR do webových aplikací
Přední bezplatná knihovna JavaScript pro přidání funkce optického rozpoznávání znaků (OCR) do webových aplikací JS a bezplatnou transformaci obrázků tištěného nebo ručně psaného textu na strojově čitelný text.
Tesseract.js je velmi užitečná knihovna JavaScript s otevřeným zdrojovým kódem, která umožňuje vývojářům softwaru integrovat funkce optického rozpoznávání znaků (OCR) do svých webových aplikací s minimálním úsilím a náklady. OCR je proces převodu obrázků tištěného nebo ručně psaného textu na strojově čitelný text. Tesseract.js je port populárního enginu Tesseract OCR, který byl původně vyvinut společností Hewlett-Packard v 80. letech a později spravován společností Google. Tesseract.js dokáže rozpoznat více než 100 jazyků, což z něj činí výkonný nástroj pro vývojáře, kteří chtějí do svých webových aplikací přidat funkce OCR.
S Tesseract.js se velmi snadno manipuluje a lze jej použít pro různé úkoly, jako je extrahování textu z naskenovaných dokumentů, účtenek a vizitek, automatizace úloh zadávání dat a také vylepšení funkcí vyhledávání ve webových aplikacích. Jednou z klíčových výhod Tesseract.js je jeho schopnost rozpoznat text, i když má vstupní obrázek špatnou kvalitu nebo rozlišení. Knihovna používá ke zlepšení přesnosti výsledků OCR algoritmy strojového učení. Může také provádět analýzu rozvržení stránky a detekovat oblasti zájmu v rámci obrázku.
Tesseract.js se stává populární díky snadnému použití a také výkonným schopnostem OCR a lze jej bez problémů spouštět buď v prohlížeči, nebo na serveru s NodeJS. Poskytuje jednoduché rozhraní API, které umožňuje vývojářům softwaru konfigurovat možnosti OCR, jako je jazyk, režim segmentace stránky a znaky bílé listiny. Jeho schopnost rozpoznat text z obrázků nízké kvality a podpora více jazyků z něj činí cenný nástroj pro širokou škálu aplikací a vynikající volbu pro vývojáře, kteří chtějí do svých webových aplikací přidat OCR.
Začínáme s Tesseract.js
Doporučený způsob instalace Tesseract.js je použití npm. Pro bezproblémovou instalaci použijte prosím následující příkaz
Nainstalovat Tesseract.jsvia npm
npm install tesseract.js
Můžete jej také nainstalovat ručně; stáhněte si soubory nejnovější verze přímo z úložiště GitHub.
Převést obrázek na text pomocí rozhraní JavaScript API
Open source JavaScriptová knihovna Tesseract.js usnadňuje vývojářům softwaru práci s různými typy obrázků, jako jsou BMP, JPG, PNG, PBM, WebP a mnoho dalších. Knihovna podporuje extrahování textu z obrázků pro automatizaci zpracování textů na obrázcích, PDF a naskenovaných dokumentech. Následující příklad ukazuje, jak načíst obrázek a extrahovat z něj text pomocí pouhých několika řádků kódu. Argument jazyk se používá k určení trénovaných jazykových dat, která mají být použita při zpracování obrázků. Softwaroví vývojáři zde mohou používat více jazyků.
Jak převést obrázek na text pomocí JavaScript API?
Tesseract.recognize(
image,language,
{
logger: m => console.log(m)
}
)
.catch (err => {
console.error(err);
})
.then(result => {
console.log(result);
})
}
Přečtěte si oblast obrázku a extrahujte text prostřednictvím rozhraní JS API
Knihovna JavaScript s otevřeným zdrojovým kódem obsahuje velmi užitečné funkce pro čtení konkrétní oblasti uvnitř obrázku a zachycení jejích dat v aplikacích JavaScript. Rozhraní API podporuje zachycení oblasti obrázku a pokouší se rozpoznat text uvnitř této oblasti pomocí interního výkonného enginu OCR. Následující příklady ukazují, jak mohou vývojáři softwaru poskytnout adresu URL obrázku a rozhraní API může snadno detekovat a rozpoznat text ve vybrané oblasti.
Čtení a rozpoznávání textu ve vybrané oblasti obrázku prostřednictvím rozhraní JS API
const { createWorker } = require('tesseract.js');
const worker = await createWorker();
const rectangle = { left: 0, top: 0, width: 500, height: 250 };
(async () => {
await worker.loadLanguage('eng');
await worker.initialize('eng');
const { data: { text } } = await worker.recognize('https://tesseract.projectnaptha.com/img/eng_bw.png', { rectangle });
console.log(text);
await worker.terminate();
})();