Tarama Görüntülerinden ve Formlarından Metin Çıkarma için Ücretsiz JavaScript Kütüphanesi
Web veya Node.js uygulamalarında Görüntü Ön İşleme ve Şablon Desteği ile Siyah-Beyaz Tarama Görüntüleri ve Belgelerinden Metin Ayrıştırma için Açık Kaynak Optik Karakter Tanıma (OCR) JavaScript kütüphanesi.
Modern dijital dünyada, optik karakter tanıma (OCR) teknolojisi taranmış görüntüleri, el yazısı notları veya basılı belgeleri düzenlenebilir ve aranabilir verilere dönüştürmede kritik bir rol oynar. Hafif ve açık kaynaklı bir çözüm arayan JavaScript geliştiricileri için Guten OCR çekici bir seçenek sunar. Bu JavaScript tabanlı OCR motoru sadelik düşünülerek tasarlanmıştır; bu da OCR özelliklerini doğrudan tarayıcı tabanlı veya Node.js uygulamalarına gömmek için idealdir. Kütüphanenin şablonlarla karakter tanıma, görüntü eşikleme ve ikilileştirme, karakter segmentasyonu, şablon eşleştirme ve metin birleştirme, modüler kod tabanı desteği gibi birçok önemli özelliği vardır. Siyah-beyaz taranmış belgelerden basılı metni tanımaya odaklanır ve kitaplar veya formlar gibi iyi biçimlendirilmiş metinler için en uygundur.
Guten OCR, Gutenye tarafından oluşturulan açık kaynaklı bir JavaScript OCR motorudur. Dış bağımlılıklar veya kapsamlı kurulum gerektiren ağır OCR araçlarının aksine, Guten OCR tamamen JavaScript ile yazılmıştır; bu da bir web tarayıcısında ya da Node.js ile sunucuda çalışabileceği anlamına gelir. Kütüphane, karakterleri bölmek ve bir karakter desen tanıma sistemi kullanarak tanımlamak için temel görüntü işleme tekniklerini kullanır. Çok dilli veya el yazısı metin desteği açısından Tesseract gibi ticari OCR motorlarıyla henüz rekabet edemese de, sadeliği ve hacklenebilirliği onu eğitim projeleri, kanıt konseptleri veya özel web uygulamalarında gömülü OCR özellikleri için harika bir seçenek yapar. Tesseract veya diğer büyük motorların aksine, Guten OCR kasıtlı olarak hafif ve odaklanmıştır; bu da OCR'nin nasıl çalıştığını anlamak isteyenler için mükemmel bir başlangıç noktasıdır.
Guten OCR ile Başlarken
Guten OCR'yi kurmanın önerilen yolu Brew kullanmaktır. Sorunsuz bir kurulum için lütfen aşağıdaki komutu kullanın
Install Guten OCR via Brew
brew install git-lfs Install Guten OCR via GitHub
git clone git@github.com:gutenye/ocr.git Ayrıca manuel olarak da kurabilirsiniz; en son sürüm dosyalarını doğrudan GitHub deposundan indirebilirsiniz.
OCR İşlemlerinden Önce Görüntü Ön İşleme
Açık kaynak Guten OCR kütüphanesi tamamen JavaScript ile yazılmıştır; bu sayede hem tarayıcıda hem de Node.js ortamlarında uyumludur. Görüntü ön işleme işlevleri, tanıma doğruluğunu artırmak için yerleşiktir. Görüntü ikilileştirme (siyah‑beyaz dönüşümü), gürültü azaltma, eğim düzeltme ve daha fazlasını destekler. Aşağıdaki örnek, geliştiricilerin görüntüler üzerinde OCR işlemi yapmadan önce birden fazla ön işleme adımını nasıl uygulayabileceğini gösterir.
JavaScript Kütüphanesi ile OCR İşlemi Öncesinde Görüntü Ön İşleme Nasıl Uygulanır?
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(/* ... */);
Şablonlar ile Karakter Tanıma
JavaScript kütüphanesi Guten OCR, JavaScript uygulamaları içinde şablonlar kullanarak OCR işlemleri yapma konusunda tam destek sağlar. Guten OCR'nin temelinde bir şablon‑eşleştirme sistemi bulunur. Makine öğrenimi modeli eğitmek yerine önceden tanımlanmış karakter desenleri kullanılır. Bu, sistemi daha hızlı ve anlaşılır kılar ancak yazı tipi ve düzen tutarlılığına karşı daha hassastır. Bu görevi yerine getirmek için kütüphane, her karakteri (A–Z, a–z, 0–9 vb.) bir canvas üzerinde render eder ve her karakter için ikili matris bir referans şablonu oluşturur. Görüntü analiz edildiğinde, kütüphane görüntü segmentlerini bu şablonlarla karşılaştırarak en iyi eşleşmeyi bulur. Dikey ve yatay çizgi taramalarıyla sınırlayıcı kutuları bulmak için bu kombinasyonu kullanır.
OCR Kütüphanesi ile Karakter Segmentasyonu
Açık kaynak JavaScript kütüphanesi Guten OCR, yazılım geliştiricilerin karakter segmentasyonunu kolayca gerçekleştirmesini sağlar. Görüntü ikilileştirildikten sonra bir sonraki adım, bireysel karakterleri segmentlemektir. Guten OCR, yoğun siyah piksel bölgelerini tespit etmek için satır ve sütunları tarar ve bunları potansiyel karakterlere ayırır. Aşağıdaki örnek, geliştiricilerin JavaScript OCR kütüphanesini kullanarak karakter segmentasyonunu nasıl yapabileceğini göstermektedir.
JavaScript Kütüphanesi ile Karakter Segmentasyonu Nasıl Gerçekleştirilir?
const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]