1. Produkty
  2.   OCR
  3.   JavaScript
  4.   Guten OCR
 
  

Darmowa biblioteka JavaScript do parsowania tekstu ze zeskanowanych obrazów i formularzy

Biblioteka JavaScript do rozpoznawania znaków optycznych (OCR) typu open source, służąca do parsowania tekstu z czarno-białych zeskanowanych obrazów i dokumentów, z obsługą przetwarzania obrazu i szablonów, w aplikacjach webowych lub Node.js.

W nowoczesnym świecie cyfrowym technologia rozpoznawania znaków optycznych (OCR) odgrywa kluczową rolę w przekształcaniu zeskanowanych obrazów, odręcznych notatek lub drukowanych dokumentów w edytowalne i przeszukiwalne dane. Dla programistów JavaScript poszukujących lekkiego i otwarto‑źródłowego rozwiązania, Guten OCR oferuje przekonującą opcję. Ten oparty na JavaScript silnik OCR został zaprojektowany z myślą o prostocie, co czyni go idealnym do osadzania funkcji OCR bezpośrednio w aplikacjach przeglądarkowych lub Node.js. Biblioteka zawiera kilka istotnych funkcji, takich jak rozpoznawanie znaków przy użyciu szablonów, progowanie i binaryzacja obrazu, segmentacja znaków, dopasowywanie szablonów i składanie tekstu, wsparcie modularnej bazy kodu i inne. Skupia się na rozpoznawaniu drukowanego tekstu z czarno‑białych zeskanowanych dokumentów i najlepiej sprawdza się przy dobrze sformatowanym tekście, takim jak książki czy formularze.

Guten OCR to otwartoźródłowy silnik OCR w JavaScript stworzony przez Gutenye. W przeciwieństwie do ciężkich narzędzi OCR, które wymagają zewnętrznych zależności lub rozbudowanej konfiguracji, Guten OCR jest napisany w całości w JavaScript, co oznacza, że może działać w przeglądarce internetowej lub na serwerze z Node.js. Biblioteka wykorzystuje podstawowe techniki przetwarzania obrazu do segmentacji znaków i ich identyfikacji przy użyciu systemu rozpoznawania wzorców znaków. Choć jeszcze nie konkuruje z komercyjnymi silnikami OCR, takimi jak Tesseract, pod względem obsługi wielu języków czy tekstu odręcznego, jego prostota i możliwość modyfikacji czynią go doskonałą opcją dla projektów edukacyjnych, proof‑of‑conceptów lub wbudowanych funkcji OCR w niestandardowych aplikacjach webowych. W przeciwieństwie do Tesseract czy innych większych silników, Guten OCR jest celowo lekki i skoncentrowany — co czyni go świetnym punktem wyjścia dla osób, które chcą zrozumieć, jak OCR działa „pod maską”.

Previous Next

Rozpoczęcie pracy z Guten OCR

Zalecany sposób instalacji Guten OCR to użycie Brew. Proszę użyć poniższego polecenia, aby przeprowadzić płynną instalację

Zainstaluj Guten OCR za pomocą Brew

 brew install git-lfs 

Zainstaluj Guten OCR przez GitHub

 git clone git@github.com:gutenye/ocr.git 

Możesz również zainstalować go ręcznie; pobierz najnowsze pliki wydania bezpośrednio z repozytorium GitHub.

Przetwarzanie obrazu przed operacjami OCR

Biblioteka open source Guten OCR jest napisana w całości w JavaScript, co czyni ją kompatybilną zarówno z przeglądarką, jak i środowiskami Node.js. Zawiera wbudowane funkcje przetwarzania wstępnego obrazów, aby zwiększyć dokładność rozpoznawania. Obsługuje binaryzację obrazu (konwersję do czerni i bieli), redukcję szumów, korekcję pochylenia i wiele innych. Poniższy przykład pokazuje, jak programiści mogą zastosować wiele kroków przetwarzania wstępnego obrazu przed wykonaniem operacji OCR na obrazach.

Jak zastosować wstępne przetwarzanie obrazu przed operacją OCR przy użyciu biblioteki 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(/* ... */);

Rozpoznawanie znaków przy użyciu szablonów

Biblioteka JavaScript Guten OCR zapewnia pełne wsparcie dla wykonywania operacji OCR przy użyciu szablonów w aplikacjach JavaScript. W sercu Guten OCR znajduje się system dopasowywania szablonów. Zamiast trenować model uczenia maszynowego, wykorzystuje predefiniowane wzorce znaków. Dzięki temu system jest szybszy i łatwiejszy do zrozumienia, ale bardziej wrażliwy na spójność czcionki i układu. Aby wykonać to zadanie, biblioteka renderuje każdy znak (A–Z, a–z, 0–9 itp.) na płótnie, a następnie binarna macierz dla każdego znaku staje się szablonem odniesienia. Podczas analizy obrazu biblioteka porównuje segmenty obrazu z tymi szablonami, aby znaleźć najlepsze dopasowanie. Robi to, używając kombinacji skanowania pionowego i poziomego linii w celu zlokalizowania prostokątów ograniczających.

Segmentacja znaków przy użyciu biblioteki OCR

Otwartoźródłowa biblioteka JavaScript Guten OCR umożliwia programistom łatwe przeprowadzanie segmentacji znaków. Po binaryzacji obrazu następnym krokiem jest segmentacja poszczególnych znaków. Guten OCR skanuje wiersze i kolumny, aby wykryć obszary o gęstych czarnych pikselach, oddzielając je jako potencjalne znaki. Poniższy przykład pokazuje, jak programiści mogą przeprowadzić segmentację znaków przy użyciu biblioteki OCR w JavaScript.

Jak wykonać segmentację znaków przy użyciu biblioteki JavaScript?

const segment = require('guten-ocr/segment');
const boxes = segment(binarized); // returns array of [x, y, width, height]
 Polski