- スキャン画像または写真の前処理 スキャン画像は、認識前に前処理が必要になる場合があります。たとえば、スキャン文書に背景ノイズ、文字の傾き、色の反転、黒い余白、誤った向き、または解像度の問題がある場合です。
- 文書画像内のテキストをできるだけ多く認識 画像の認識は、文書画像内に存在する可能性のあるテキストをできるだけ漏れなく検出・抽出できるような設定で行われます。
シナリオの実装
このトピックで紹介するコードサンプルは Windows 専用です。
Step 1. ABBYY FineReader Engineの読み込み
Step 1. ABBYY FineReader Engineの読み込み
ABBYY FineReader Engine を使用するには、まず Engine オブジェクトを作成する必要があります。Engine オブジェクトは ABBYY FineReader Engine のオブジェクト階層における最上位のオブジェクトであり、各種グローバル設定、一部の処理メソッド、およびその他のオブジェクトを作成するためのメソッドを提供します。Engineオブジェクトを作成するには、InitializeEngine関数を使用します。Engineオブジェクトを読み込むその他の方法 (Win) も参照してください。
C#
C++ (COM)
ステップ 2. シナリオ用の設定の読み込み
ステップ 2. シナリオ用の設定の読み込み
このシナリオに最適な設定は、ABBYY FineReader Engine の Engine オブジェクトの LoadPredefinedProfile メソッドを使用して選択できます。このメソッドは、入力パラメーターとしてプロファイル名を受け取ります。詳しくは、Working with Profiles を参照してください。ABBYY FineReader Engine は、このシナリオ向けに 2 種類の設定をサポートしています。
処理設定を変更する場合は、適切な Parameter オブジェクトを使用してください。詳しくは、以下の Additional optimization for specific tasks を参照してください。
プロファイル名 | 説明 |
|---|---|
TextExtraction_Accuracy | この設定は、精度を重視して最適化されています。
|
TextExtraction_Speed | この設定は、処理速度を重視して最適化されています。
|
C#
C++ (COM)
ステップ 3. 画像の読み込みと前処理
ステップ 3. 画像の読み込みと前処理
ABBYY FineReader Engine には、複数ページの文書を処理できる FRDocument オブジェクトが用意されています。1 つの文書の画像を読み込んで前処理するには、FRDocument オブジェクトを作成し、そこに画像を追加する必要があります。方法は次のいずれかです。
- Engine オブジェクトの CreateFRDocumentFromImage メソッドを使用して FRDocument オブジェクトを作成します。このメソッドは FRDocument オブジェクトを作成し、指定したファイルから画像を読み込みます。
- Engine オブジェクトの CreateFRDocument メソッドを使用して FRDocument オブジェクトを作成し、その後、作成した FRDocument オブジェクトにファイルから画像を追加します (FRDocument オブジェクトの AddImageFile、AddImageFileWithPassword、または AddImageFileWithPasswordCallback メソッドを使用します) 。
C#
C++ (COM)
ステップ 4. 文書認識
ステップ 4. 文書認識
文書を認識するには、FRDocument オブジェクトの解析メソッドと認識メソッドを使用します。このオブジェクトには、文書の解析と認識のためのさまざまなメソッドが用意されています。1 つのメソッドで文書の解析、認識、合成を実行できる最も便利な方法は、Process メソッドを使用することです。また、このメソッドは、マルチプロセッサおよびマルチコアシステムの同時処理機能を最も効率的に活用します。一方、Preprocess、Analyze、および Recognize、および Synthesize メソッドを使用して、前処理、解析、認識、合成を順に実行することもできます。
C#
C++ (COM)
ステップ 5. 重要な情報の検索
ステップ 5. 重要な情報の検索
解析中、ABBYY FineReader Engine は、テキスト、表、画像などを含む画像ブロックを選択します。認識の過程で、テキストデータを含むブロックには認識結果のテキストが格納されます。ABBYY FineReader Engine では、Layout オブジェクトがブロックと認識済みテキストの格納先として機能します。文書処理の主要なシナリオでは、処理対象の文書を表す FRDocument オブジェクト内の Layout を扱います。文書ページの Layout にアクセスするには、IFRPage::Layout プロパティを使用します。キーワードを検索するには、Text オブジェクトを使用して認識されたテキストを参照できます。これは、テキスト、表、またはバーコードブロックのプロパティからアクセスできます。見つかった重要なデータは、必要に応じて保存または処理できます。詳細については、以下の Additional optimization for specific tasks を参照してください。
(省略可能)ステップ 6. 文書のエクスポート
(省略可能)ステップ 6. 文書のエクスポート
また、抽出したテキストを、TXT のような検索しやすい形式や、後で必要な情報を簡単に取得できる JSON のような構造化形式で保存したい場合もあります。FRDocument オブジェクトの Export メソッドを使用し、対応する FileExportFormatEnum 定数をパラメーターの 1 つとして指定します。対応するエクスポートオブジェクトを使用して、エクスポートのデフォルトパラメーターを変更できます。詳細については、以下の Additional optimization for specific tasks を参照してください。FRDocument オブジェクトでの作業が完了したら、このオブジェクトで使用していたすべてのリソースを解放します。IFRDocument::Close メソッドを使用してください。
C#
C++ (COM)
ステップ 7. ABBYY FineReader Engine のアンロード
ステップ 7. ABBYY FineReader Engine のアンロード
ABBYY FineReader Engine での作業が完了したら、Engine オブジェクトをアンロードする必要があります。これを行うには、エクスポート関数 DeinitializeEngine を使用します。
C#
C++ (COM)
必要なリソース
特定のタスク向けの追加の最適化
-
スキャン - Windows のみ
- スキャン
文書のスキャンに関する ABBYY FineReader Engine のシナリオの説明。
- スキャン
-
認識
- 前処理、解析、認識、および合成のパラメーターの調整
解析、認識、および合成のパラメーター オブジェクトを使用した文書処理のカスタマイズ。
- 前処理、解析、認識、および合成のパラメーターの調整
-
手書き文字を認識する
TextExtraction\_\*\*\*プロファイルには、手書き文字や手書き活字体の認識は含まれていません。手書き文字を認識する必要がある場合は、PageAnalysisParams オブジェクトの DetectHandwritten プロパティを TRUE に設定します。 -
PageProcessingParams Object
このオブジェクトでは、解析および認識のパラメーターをカスタマイズできます。このオブジェクトを使用すると、検出する画像およびテキストの特性 (反転画像、向き、バーコード、認識言語、認識誤差範囲) を指定できます。 -
SynthesisParamsForPage Object
このオブジェクトには、合成時にページの書式を復元するためのパラメーターが含まれています。 -
SynthesisParamsForDocument Object
このオブジェクトでは、文書合成 (構造と書式の復元) をカスタマイズできます。 -
MultiProcessingParams Object - Linux および Windows のみ
大量の画像を処理する場合は、同時処理が役立つことがあります。この場合、画像のオープンと前処理、レイアウト解析、および認識の際に処理負荷がプロセッサ コアに分散されるため、処理を高速化できます。
読み取りモード (同時または連続) は、MultiProcessingMode プロパティを使用して設定します。RecognitionProcessesCount プロパティは、開始できるプロセス数を制御します。 -
重要な情報の検索
- Layout と Blocks の操作
ページ レイアウト、ブロックの種類、およびそれらの操作について説明します。 - Layout Object
このオブジェクトのパラメーターにより、文書認識後のページ レイアウトと認識済みテキストにアクセスできます。 - Text の操作
認識済みテキスト、段落、単語、および文字の操作。
- Layout と Blocks の操作
-
指定したデータ型向けの特別なパラメーターを使用した文書の再読み取り
- フィールド レベル認識
短いテキスト セグメントを認識するシナリオの説明。
- フィールド レベル認識
-
データの保存
- 認識したデータを保存するには、FRDocument オブジェクトの Export または ExportPages メソッドを使用し、パラメーターの 1 つとして FileExportFormatEnum 定数を指定できます。
- 文書のアーカイブ
文書の電子コピーを保存するシナリオの説明。
