1. 製品
  2.   OCR
  3.   C++
  4.   Guten OCR
 
  

スキャン画像とフォームからテキストを解析する無料 JavaScript ライブラリ

Web または Node.js アプリで画像前処理とテンプレートをサポートする、白黒スキャン画像・文書からテキストを解析するオープンソース光学文字認識(OCR)JavaScript ライブラリ

現代のデジタル社会において、光学文字認識(OCR)技術は、スキャン画像、手書きメモ、印刷された文書を編集可能で検索可能なデータに変換する上で重要な役割を果たしています。軽量でオープンソースのソリューションを求める JavaScript 開発者にとって、Guten OCR は魅力的な選択肢です。この JavaScript ベースの OCR エンジンはシンプルさを重視して設計されており、ブラウザベースまたは Node.js アプリに OCR 機能を直接組み込むのに最適です。テンプレートによる文字認識、画像の閾値処理と二値化、文字分割、テンプレートマッチングとテキスト組み立て、モジュラーコードベースのサポートなど、ライブラリには重要な機能が多数含まれています。白黒スキャン文書から印刷されたテキストの認識に特化しており、書籍やフォームなどの整ったテキストに最適です。

Guten OCR は Gutenye が作成したオープンソース JavaScript OCR エンジンです。外部依存関係や大規模なセットアップを必要とする重量級 OCR ツールとは異なり、Guten OCR は完全に JavaScript で記述されているため、ウェブブラウザでも Node.js サーバーでも実行できます。ライブラリは基本的な画像処理手法を使用して文字をセグメント化し、文字パターン認識システムで識別します。多言語や手書きテキストのサポートに関しては商用 OCR エンジンである Tesseract ほどではありませんが、そのシンプルさとハッカブルな特性により、教育プロジェクト、概念実証、カスタムウェブアプリへの組み込み OCR 機能に最適です。Tesseract や他の大型エンジンとは異なり、Guten OCR は意図的に軽量で特化した設計となっており、OCR の内部動作を理解したい人にとって優れた出発点です。

Previous Next

Guten OCR の開始方法

Guten OCR の推奨インストール方法は Brew を使用することです。スムーズなインストールのために以下のコマンドをご利用ください。

Homebrew で Guten OCR をインストール

 brew install git-lfs 

GitHub から Guten OCR をインストール

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

また、手動でインストールすることも可能です。最新のリリースファイルは GitHub リポジトリから直接ダウンロードしてください。

OCR 操作前の画像前処理

オープンソースの Guten OCR ライブラリは完全に JavaScript で記述されており、ブラウザと Node.js の両方の環境で使用できます。認識精度を向上させるための組み込み画像前処理機能が含まれています。画像の二値化(白黒変換)、ノイズ除去、傾き補正などをサポートします。以下の例は、開発者が OCR 操作を実行する前に複数の画像前処理ステップを適用する方法を示しています。

JavaScript ライブラリで OCR 操作前に画像前処理を適用する方法

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(/* ... */);

テンプレートによる文字認識

JavaScript ライブラリ Guten OCR は、JavaScript アプリケーション内でテンプレートを使用した OCR 操作を完全にサポートしています。Guten OCR の中心にはテンプレートマッチングシステムがあります。機械学習モデルをトレーニングする代わりに、事前定義された文字パターンを使用します。このシステムは高速で理解しやすい反面、フォントやレイアウトの一貫性に対して敏感です。ライブラリは各文字(A–Z、a–z、0–9 など)をキャンバスに描画し、各文字の二値マトリックスを参照テンプレートとして使用します。画像を解析する際、ライブラリはこれらのテンプレートと画像セグメントを比較し、最適な一致を見つけます。垂直および水平ラインスキャンの組み合わせでバウンディングボックスを検出します。

OCR ライブラリによる文字分割

オープンソースの JavaScript ライブラリ Guten OCR は、ソフトウェア開発者が文字分割を簡単に実行できるようにします。画像が二値化された後、次のステップは個々の文字を分割することです。Guten OCR は行と列をスキャンして黒ピクセルが密集した領域を検出し、潜在的な文字として分割します。以下の例は、JavaScript OCR ライブラリを使用して文字分割を実行する方法を示しています。

JavaScript ライブラリで文字分割を実行する方法

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