LEADTOOLSフォーム

フレームを表示

LEADTOOLSフォーム認識と処理エンジンは、最小のコーディングでフォーム認識と処理アプリケーションを作成するために、開発者に高度なツールの包括的なセットを提供します。それは高速で、正確で、信頼できます。

概要
フォーム認識
書式処理
速度処理
低レベルフォーム認識
低レベル書式処理

概要.一般に、フォーム認識と処理システムは、以下の手順を実行します:

LEADTOOLS AutoFormsEngineは、認識と処理システムの最適化されて高速実装です。それは、自動的にフォーム属性を作成して、リポジトリでそれをMasterフォームと比較して、フォームフィールドを処理します。LEADTOOLS AutoFormsは、認識と処理の速度を上げるためにマルチスレッドのモードで動作するために、オプションを与えもします:マルチコア技術を利用すること。Leadtools.Forms.Auto名前空間は、クラス、インターフェースと例えば行動において実装時間を減らすメソッドの豊かなセットを提供します:

大部分のECM(企業コンテンツ管理機構)システムが認識と処理を利用するかもしれない間、各プロセス(認識または処理)には一般的な仕事の流れで非常に特定のタスクがあります。

フォーム認識.フォーム認識は、人間の干渉なしで任意の不明なフォームの名前、型とIDを自動的に識別するプロセスです。マスターフォームが認められているフォームのために存在する限り、LEADTOOLS認識エンジンはそれを事前定義マスターフォームの無制限の数と速く、そして、正確に区別することができます。エンジンは、各々のマスターフォーム(シングルまたはマルチページ)の一意な機能(属性)を抽出するためにとても正確なアルゴリズムを使用して、XMLファイルで保存します。このファイルは携帯用で効率的であるので、もはやマスターフォームのためにオリジナル画像の全てを保存する必要はありません。このように、上に向かう不必要なディスクスペースを開放します。かつて、プロセスまで期待するフォームの全てのためにマスターフォームを作成しました、すべてのフォームのための認識方法を完全に自動化することができます。そして、あるいは、コンピュータ生成で、それが変形するかどうかにかかわらず、ソース(アーカイブの、スキャナ、など)または解像度がそうである問題は使いませんでしたその他

業界をリードする認識エンジンによって、プログラマーが処理すると思っているフォームのタイプのためにエンジンを微調整することができます。フォームでテキスト、バーコードと一意なオブジェクトなどの各々のマスターフォームの属性を作成するとき、みなされることができる多くの要因が、あります。これらの様々な要因の全てを処理するために、LEADTOOLSは、一意な下位エンジン(SDKによって言及される「オブジェクトマネージャー」)を作成しました。これらのオブジェクトマネージャーによって、マスターフォーム属性を作成するとき、みなされなければならない要因を選択することができます。単一のオブジェクトマネージャーまたはグループを使うことができます。各々のマネージャーには一意な目的があります、それゆえに、適切なマネージャを選択することはパフォーマンスとフォーム認識の正確さを増やします。たとえば、認めると思っているすべてのフォームには一意なバーコードがあるならば、たぶんちょうどバーコードマネージャーを利用する必要があるでしょう。同様に他のマネージャーを利用することができました、しかし、バーコードマネージャーは必要であるすべてであるので、他のエンジンを追加することに費やされる処理時間は不必要です。様々なオブジェクトマネージャーによってフォーム属性を自動的に作成することに加えて、エンジンは、フォーム(例えば企業またはフォーム名)で重要情報をハイライトすることができる任意選択機構を持っています。たとえどのオブジェクトマネージャーが使われても、エンジンは認識(フォームにつき信頼水準を含む)の包括的な結果を提供します。フォーム認識エンジンは、以下の「オブジェクトマネージャー」を提供します:

マネージャー(LEADTOOLS OCRエンジンを必要とします)のOCR処理を行います-OCRマネージャーはフォームの属性を作成するためにフォームからテキスト機能を抽出するためにOCRを使います。OCRマネージャが、LEADTOOLSがProfessionalエンジンなどの提供する任意のOCRエンジンで使われることができます。OCRマネージャーは最適マネージャーで、マスターフォーム(解像度、配置など)と異なるいくつかの状況の下でスキャンされたフォームを認めることができます。完了した自動の配置ソリューションを提供することは、量のscaleと未確認のフォームの変動を計算することができる内部のアルゴリズムを使用します。

バーコードマネージャー(LEADTOOLSバーコードエンジンを必要とします)-バーコードマネージャーは、フォームの属性を作成するためにフォームからバーコード機能を抽出するために、バーコード認識技術を使用します。このマネージャーは、1秒(偶数もっと大きいサイズイメージ)の何分の1でフォームを正確に認めることができます。バーコードマネージャーが、LEADTOOLSが提供する任意のバーコードエンジン(例えば1Dと2D(DataMatrix、PDF417、QR)アドオンモジュール)で使われることができます。バーコードマネージャーは配置を計算するためにimage解像度を使うので、それは様々な解像度、しかし、同程度の割合とシフトをすることができるフォームを認めることに理想的です。大部分のフォームが一意なバーコードの若干の型をすでに格納するため、バーコードマネージャーは大部分のシナリオのための完全なフィットです。

デフォルトのマネージャー(アドオンは要求しませんでした)-デフォルト値:マネージャーは、フォームの属性を作成するために、フォームから行と反転テキストなどの特別なオブジェクト機能を抽出します。このマネージャーは、一意な行と他のオブジェクトを持っている単純なフォームに役立ちます。正確な間、バーコードとOCRマネージャーが最適パフォーマンスと正確さのために使われなければなりません。デフォルト値:マネージャーは、配置を計算するために、image解像度を使います。従って、それは、様々な解像度(同程度の割合と交替制以外の)で生成されるフォームを認めることに理想的です。

フォーム認識は、基本的にマスターフォームにつきFormRecognitionAttributesオブジェクトと認めたいと思うフォームを作成することによって機能して、そして、どのマスターフォームが各々のフォームを最高の信頼と突き合わせるかについて見るために、属性を比較します。以下は、1ページ以上のページでフォーム認識を実行する際の一般的な手順の概要です。

  1. Masterフォームの記憶場所をポイントするMasterフォームリポジトリを作成します。
    Code
    
                SetLicense();
                
                // Set the name of the folder that contains the Master Forms
                string root = @"C:\Users\Public\Documents\LEADTOOLS Images\Forms\MasterForm Sets\OCR\";
                
                RasterCodecs codecs = new RasterCodecs()
                DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
                
    
  2. 自動フォームエンジンで使われるOCRとバーコードエンジンを作成します。
    Code
    
                // Create the OCR engine instance, and use LEADTOOLS Advantage OCR engine
                IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false)
                
                // Startup the OCR engine
                ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
                
                // Create the Main BarcodeEngine instance
                BarcodeEngine barcodeEngine = new BarcodeEngine();
                
    
  3. AutoFormsEngineクラスを用いた自動フォームエンジンを作成します。
    Code
    
                // Create the Main AutoFormsEngine instance
                AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine, 30, 80, true);
                
                // Setup the recognition options
                autoEngine.RecognizeFirstPageOnly = true;
                autoEngine.MinimumConfidenceKnownForm = 40;
                
                // Get a list of the files to process
                string[] files = Directory.GetFiles(@"C:\Users\Public\Documents\LEADTOOLS Images\Forms\Images\", "*.tif");
                
                // This is the function that contains the main recognition process
                ProcessFiles(autoEngine, files);
                
    
  4. すぐにフォームを認めて、処理するために、AutoEngine.Runを呼び出します、さもなければ、フォームだけを認めるために、AutoEngine.RecognizeFormを呼び出します。以下のcodeは、どのようにマルチスレッディングアプリケーションでAutoFormsEngineクラスを処理することができるかについて示します:
    Code
    
                private static void ProcessFiles(AutoFormsEngine autoEngine, string[] files)
                {
                   Console.WriteLine("Started Processing Files ...");
                   // Get the number of files to process
                   int fileCount = files.Length;
                   
                   // Event to notify us when all work is finished
                   using (AutoResetEvent finishedEvent = new AutoResetEvent(false))
                   {
                      // Loop through all Files in the given Folder
                      foreach (string file in files)
                      {
                         // Capture the file name here, since we are using an anonymous function
                         string fileToProcess = file;
                         
                         // Process it in a thread
                         ThreadPool.QueueUserWorkItem((state) =>
                         {
                            try
                            {
                               // Show the name
                               string name = Path.GetFileName(fileToProcess);
                               Console.WriteLine("Processing {0}", name);
                               
                               // Process it
                               AutoFormsRunResult result = autoEngine.Run(fileToProcess, null);
                               
                               // Check results
                               if (result.FormFields != null && result.RecognitionResult.MasterForm != null)
                                  Console.WriteLine(string.Format("  Master Form Found \"{0}\" for {1}", result.RecognitionResult.MasterForm.Name, name));
                               else
                                  Console.WriteLine(string.Format("  No Master Form Found for {0}", name));
                            }
                            catch(Exception ex)
                            {
                               Console.WriteLine("Error {0}", ex.Message);
                            }
                            finally
                            {
                               if (Interlocked.Decrement(ref fileCount) == 0)
                               {
                                  // We are done, inform the main thread
                                  finishedEvent.Set();
                               }
                            }
                         });
                      }
                      
                      // Wait till all operations are finished
                      finishedEvent.WaitOne();
                      Console.WriteLine("Finished Processing Files");
                   }
                }
                
    
フォームを認識するのみについての詳細は、「Steps To Recognize and Process a Form」を参照してください。
マスターフォームの生成に関する詳細は、「Steps To Generate Master Form and save it to master's repository」を参照してください。

Leadtools.Forms.Auto名前空間は、マルチスレッド処理で一組のクラスとインターフェースをオートメーション化したフォーム認識と処理に提供します。独自のマルチスレッド処理を実装する場合は、自動フォームでマルチスレッドを無効にするか、低レベルフォーム設計を使用します。このフレームワークでは、リポジトリを使ってフォームのカテゴリを扱います。LEADTOOLSは、サンプル実装をディスクベースのフォームリポジトリに提供します。ユーザーは、フレームワークのインターフェース(IMasterFormIMasterFormsCategoryIMasterFormsRepository)から継承し、独自のカスタムリポジトリも実装できます。

書式処理.書式処理は、フォームの事前定義フィールドから入力式データ情報を抽出するプロセスです。フィールドはページにつき定義されるので、数ページのフォームのフィールドは簡単に作成されることができます、そして、データは目的のフィールド/ページから抽出しました。それに関連づけられる各方面は、以下の属性を持っています。

image解像度、scaleと他のフォーム生成特徴に関係なく、フィールド情報は処理されることができます。たとえどのフィールドタイプが使われていても、エンジンは処理(各々の結果のための信頼性値を含む)の包括的な結果を提供します。書式処理エンジンは、以下のフィールドタイプを提供します:

事前定義された上記のフィールドタイプに加え、処理エンジンにより、ユーザーの独自ニーズに合わせた独自のカスタムフィールドを作成できます。

フォーム認識と処理の速度を上げる方法
  1. AutoFormsEngineのマルチスレッド場合を使います。
  2. 認識と処理を実行しているならば、OCRエンジンだけでAutoFormsEngineを初期化します、そして、OCR Professionalエンジンを使用します。
  3. 処理なしで認識を実行している、そして、あなたのすべてのMasterフォームには様々なバーコードがあるならば、マスターズ属性を生成して、AutoFormsエンジンを初期化するために、バーコードエンジンだけを使用します。

低レベルフォーム認識.低レベルフォーム認識は、認識とフォーム比較のためにカスタムアルゴリズムを設計することを可能にします。以下は、1ページ以上のページでフォーム認識を実行する際の一般的な手順の概要です。

  1. フォーム認識エンジンクラスを用いたFormRecognitionEngineを作成して、初期化します。
  2. RecognitionObjectsManagerクラスを用いた目的のオブジェクトマネージャーを作成して、追加します。
  3. CreateMasterFormメソッドを用いたマスターフォーム(またはいくつか)属性を作成します。
  4. AddMasterFormPageメソッドを用いたマスターフォームに、ページを追加します。
  5. CloseMasterFormメソッドを用いたマスターフォームを閉じます。
  6. CreateFormメソッドを使って認めたいと思うフォームのために、フォーム属性を作成します。
  7. AddFormPageメソッドを使って認められるフォームに、ページを追加します。
  8. CloseFormメソッドを使って認められるフォームを閉じます。
  9. フォームがCompareFormメソッドを用いた各々のマスターフォームの属性に認められるために、属性を比較します。

マスターフォーム属性は、GetDataとSetDataメソッドを用いたディスクにロードして保存されることができます。多くの場合、すべてのマスターフォームの属性をディスクに保存し、入力済みのフォームを認識する際にそれぞれのマスターフォーム属性ファイルをロードして、認識中のフォームの属性と比較し、どちらの返す信頼値が高いかを判断します。フォーム認識を用いた単純なチュートリアルのために、フォームを認めることを参照します。

低レベル書式処理.低レベル書式処理は、配置と処理をカスタマイズすることを可能にします。フォーム、以下は、実行することに関係する一般的な手順の輪郭線です一つ以上のページの処理。

  1. FormProcessingEngineクラスを用いた書式処理エンジンを作成して、初期化します。
  2. TextFormFieldOMRFormFieldBarcodeFormFieldImageFormFieldまたはカスタムユーザ定義フィールドを使用している各々のマスターフォームのために、目的のフィールドを追加します。
  3. FormPage.AddRangeメソッドを用いた各方面コレクションのために、フォームページを作成します。
  4. FormProcessingEngine.Pages.Addメソッドを用いた処理エンジンに、各方面ページを追加します。
  5. Processメソッドを使っているフィールドを処理します。このメソッドは、任意のimageのために配置を必要とします。フォーム認識が実行されなかった、そして、できる認められているならば、GetFormAlignmentまたはGetPageAlignmentメソッドを使います。認識が実行されたならば、配置プロパティを呼び出します。

フィールドは、LoadFieldsとSaveFieldsメソッドを用いたディスクにロードして保存されることができます。ほとんどの場合、ディスクに各々のマスターフォームのためにフィールドの全てを保存します。それでは、処理がフォームを塗りつぶしたとき、FormProcessingEngineで使用するためにファイルから適切なフォームフィールドをロードします。書式処理を用いた単純なチュートリアルのために、処理フォームを参照します。

SDK定義
属性
マスターフォームの一意な機能は、フォーム認識プロセスに入力済みフォームを識別したものです。
バーコードマネージャー
マスターフォームのバーコードフィールドに基づく属性を作成したオブジェクトマネージャー。
信頼
0~100の値。結果の信頼度を示します。値「100」は最高の信頼度を意味し、値「0」は信頼がまったくないという意味です。
デフォルトのマネージャー
マスターフォームで行と反転テキストなどの一意なオブジェクトに基づく属性を作成したオブジェクトマネージャー。
リージョンを除外します
フォームの認識に機能も属性も必要ない領域。
フィールド
テキスト、バーコード、チェックボックス、imageまたはカスタムデータを抽出する必要がある認められたフォームの上の事前定義領域。
入力済みデータ
ユーザーが事前定義フィールドでフォームの上で作成した任意のデータ。LEADTOOLS書式処理エンジンを使用して、このデータは、認められたフォームから抽出されることができます。
入力済みフォーム
入力済みデータを格納しているマスターフォーム。フォーム認識と処理エンジンは、ユニークにフォームを識別して、その分野からデータを抽出するのに用いられます。
フォーム
認められておよび/または処理される必要がある入力済みフォーム。
用紙位置決め
対応するマスターフォームで完了した認められたフォームを位置合わせする際に必要な情報。
フォームカテゴリー
フォーム、コレクションまたは中で類似したMasterフォームのうち論理的なグループ化リポジトリ。フォームカテゴリには、マスターフォームやサブカテゴリを含めることができます。
書式処理
認識されたフォーム内の事前定義フィールドから、ユーザーが入力したデータを抽出するプロセス。
フォーム認識
マスターフォームを使用して、入力されたフォームを識別するプロセス。
フォームリポジトリ
フォームカテゴリのストレージシステム。最高レベルのコレクションです。
Includeリージョン
機能またはその機能または属性をフォーム認識のために必要にする領域。
マスターフォーム/テンプレート
そのフォームに一意な属性を格納している値の入力されていないないか空白のフォーム。マスターフォームは単一でありえるか、マルチページであることができます。マスターフォーム属性は、様々なオブジェクトマネージャーによって生成されます。
オブジェクトマネージャー
特定のマスターフォームのために属性を生成する一意な下位エンジン。
Ocrマネージャー
マスターフォームでテキストフィールドに基づく属性を作成したオブジェクトマネージャー。
ページ替え
マスターフォームから対応するページで認められたフォームページを位置合わせする際に必要な情報。
関心部分
非常に重要な属性をフォーム認識のために必要にする領域。これらのリージョンは、企業またはフォーム名などの重要な機能をハイライトするのに用いられます。

上^

参照

参照

フォームの認識と処理に関するFAQ
フォームの認識と処理のワークフロー
MasterFormsを生成して、保存すること
フォームの認識手順だけ
フォーム認識チュートリアル
パスポート認識
運転免許証認識
銀行小切手認識(MICR)

 

 


製品 | サポート | お問い合わせ | 著作権に関する通知
© 1991-2016のLEAD Technologies, Inc. All Rights Reserved.