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

Free Optical Character Recognition API for Chinese Manuscripts

Open Source C++ OCR to perform OCR operations on Chinese Manuscripts using template-based matching, where characters are matched pixel-wise against known samples.

Free C++ OCRとは何ですか?

ラテン文字以外のスクリプト、特に中国語における光学文字認識(OCR)は、文字の複雑さと多様性のために独自の課題を呈します。幸いにも、Sebastian Starke が提供するオープンソースの OCR C++ API は、印刷文字または手書きの中国語文字、特に手稿からの認識に特化した、クリーンで拡張性のあるソリューションを提供します。シンプルさと適応性を念頭に設計されたこの軽量 API は、重厚な機械学習モデルではなく、古典的な画像処理手法を用いた文字認識の実験をソフトウェア開発者に可能にします。

このプロジェクトは、Tesseract のような本格的なニューラル OCR エンジンではありません。代わりに、テンプレートベースのマッチングを使用し、文字を既知のサンプルとピクセル単位で比較します。これにより、教育用途、制御された環境、または歴史的手稿の分析、伝統的な中国語組版、簡易手書きデータセットなどの特定の認識タスクに最適です。このプロジェクトは、組み込み Linux システム、Raspberry Pi、産業用スキャニングデバイスなど、リソースが限られた環境で作業する開発者に特に適しています。重厚な依存関係やディープラーニングライブラリに依存しないためです。

Previous Next

OCRの開始方法

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

GitHub経由でOCR APIをインストール

GitHub経由でOCR APIをインストール

 git clone https://github.com/sebastianstarke/OCR.git  

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

テンプレートベースOCRエンジン

中国語手稿用のオープンソース光学文字認識(OCR)C++ APIは、C++アプリケーション内でテンプレートベースのOCRエンジンを使用するための完全なサポートを提供しています。このライブラリの中心には古典的な画像比較システムがあり、文字画像は二値化され、距離指標(通常はピクセル単位の比較)を用いてテンプレートと比較されます。中国語の場合、一貫した書道や印刷手稿を扱う際に特に有用です。

C++アプリでテンプレートベースOCR認識を実行する方法

OCR::TemplateCollection templates;
templates.loadFromFolder("templates/"); // Load preprocessed characters

OCR::Recognizer recognizer(templates);
std::string recognizedText = recognizer.recognizeFromImage("scanned_page.png");

画像前処理サポート

オープンソースOCRライブラリは、C++アプリケーション内で画像前処理機能を完全にサポートしています。ライブラリはしきい値処理やトリミングなどの基本的な前処理を提供し、ノイズの多い入力をクリーンにします。中国語手稿は古い紙に書かれることが多く、正確な結果を得るためには画像のクリーンアップが不可欠です。以下の例は、数行のC++コードだけでソフトウェア開発者が画像前処理を実行できることを示しています。

C++アプリ内でOCR操作の前に画像前処理を実行する方法

OCR::ImageProcessor processor;
cv::Mat cleanImage = processor.binarize("raw_scan.png");

形態学的変換サポート

このプロセスは一連の形態学的変換から始まります。これらは画像内の特徴の形状を変更する基本的な画像処理操作です。この文脈では、手稿画像をクリーンアップし、ノイズを除去し、文字のセグメンテーションの準備を行うために使用されます。

 日本