LEADTOOLS OCR

フレームを表示

OCRドキュメントにおけるページで機能する方法を示すプログラムを作成して、実行するために、以下の手順をとります。チュートリアルは、迅速かつ簡単にOCRプログラムを作成する方法を提供することを目的としています。

  1. Visual Studioを開始します

  2. メニューからファイル->新規作成->プロジェクトを選択します

  3. 新しいプロジェクトダイアログボックスでは、プロジェクト型の並びで「Visual C#プロジェクト」か「Visual Basicプロジェクト」を選択して、テンプレートリストからVisual Studioバージョンに従い「Windowsアプリケーション」または「Windowsフォームアプリケーション」を選択します

  4. プロジェクト名前フィールドの「OcrTutorial」としてプロジェクト名を入力します、そして、OKを選択します。必要であれば、プロジェクトの新しい場所を入力するか、ブラウズボタンを用いてディレクトリを選択します、そして、OKを選択します。

  5. 「ソリューションエクスプローラー」ウィンドウでは、「参照」フォルダを右クリックします、そして、コンテキストメニューから「参照の追加...」を選択します。「参照の追加」ダイアログボックスでは、「.NET」タブを選択して、LEADTOOLS for .NET「#LEADTOOLS_INSTALLDIR#\Bin\DotNet4\Win32」フォルダに閲覧して、以下のDLLを選択します:

    Leadtools.dllLeadtools.Codecs.dllLeadtools.Forms.dllLeadtools.Forms.DocumentWriters.dllLeadtools.Forms.Ocr.dllLeadtools.Forms.Ocr.Advantage.dllLeadtools.Codecs.Bmp.dllLeadtools.Codecs.Cmp.dllLeadtools.Codecs.Tif.dllLeadtools.Codecs.Fax.dll

    注意:追加されるLeadtools.Codecs.*.dll参照は、BMP、JPG、CMP、TIFとFAX画像フォーマットのためです。アプリケーションで必要であるならば、任意の追加のファイルフォーマットコーデックDLLを追加します。

  6. Form1で5つのボタンをドラッグ&ドロップします。デフォルトの「button1button2」としてすべてのボタン名をそのままにします ...「その後:に続くことに、各々のボタンのTextプロパティを変更します

    ButtonTextbutton1Startupbutton2Add Pagebutton3Remove Pagesbutton4Flip Pagebutton5Shutdown

  7. :があるならば、Form1 codeビュー(ソリューションエクスプローラーの右クリックForm1ビューCodeをその後選択します)に切り替えて、任意だったusingあとファイルの始めに行に続くことまたはImportsセクションを追加します

    [C#]

    
                 using Leadtools;
                 using Leadtools.Codecs;
                 using Leadtools.Forms;
                 using Leadtools.Forms.DocumentWriters;
                 using Leadtools.Forms.Ocr;
                 using Leadtools.ImageProcessing;
                 
    

    [Visual Basic]

    
                 Imports Leadtools
                 Imports Leadtools.Codecs
                 Imports Leadtools.Forms
                 Imports Leadtools.Forms.DocumentWriters
                 Imports Leadtools.Forms.Ocr
                 Imports Leadtools.ImageProcessing
                 
    
  8. Form1クラスに以下のプライベート変数を追加します:

    [C#]

    
                 private IOcrEngine _ocrEngine;
                 private IOcrDocument _ocrDocument;
                 
    

    [Visual Basic]

    
                 Private _ocrEngine As IOcrEngine
                 Private _ocrDocument As IOcrDocument
                 
    
  9. button1(スタートアップ)Clickハンドラのために、以下のcodeを追加します:

    [C#]

    
                 private void button1_Click(object sender, EventArgs e)
                 {
                    // Initialize the OCR engine
                    _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false);
                    // Start it up
                    _ocrEngine.Startup(null, null, null, @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime");
                    // Create the document
                     _ocrDocument = _ocrEngine.DocumentManager.CreateDocument();
                    MessageBox.Show("OCR engine has been started successfully and document created");
                 }
                 
    

    [Visual Basic]

    
                 Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
                    ' Initialize the OCR engine
                    _ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
                    ' Start it up
                    _ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime")
                    ' Create the document
                     _ocrDocument = _ocrEngine.DocumentManager.CreateDocument()
                    MessageBox.Show("OCR engine has been started successfully and document created")
                 End Sub
                 
    
  10. button2(ペイジを追加します)Clickハンドラのために、以下のcodeを追加します:

    [C#]

    
                 private void button2_Click(object sender, EventArgs e)
                 {
                    // Browse to an existing document file on disk, for example @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif";
                    string fileName = null;
                    using (OpenFileDialog dlg = new OpenFileDialog())
                    {
                       if (dlg.ShowDialog(this) == DialogResult.OK)
                          fileName = dlg.FileName;
                    }
                
                    if (fileName == null)
                       return;
                
                    // Add the first page from the file to the OCR document
                    IOcrPage page = _ocrDocument.Pages.AddPage(fileName, null);
                    int pageCount = _ocrDocument.Pages.Count;
                    // Show some information about this page
                    string message = string.Format(
                       "Total pages is {0}\nLast page added size = {1} by {2}\nResolution = {3} by {4}\nBits per pixel = {5}",
                       pageCount,
                       page.Width, page.Height,
                       page.DpiX, page.DpiY,
                       page.BitsPerPixel);
                    MessageBox.Show(message);
                 }
                 
    

    [Visual Basic]

    
                 Private Sub button2_Click(sender As Object, e As EventArgs)
                    ' Browse to an existing document file on disk, for example @"C:\Users\Public\Documents\LEADTOOLS Images\Ocr1.tif";
                    Dim fileName As String = Nothing
                    Using dlg As New OpenFileDialog()
                       If dlg.ShowDialog(Me) = DialogResult.OK Then
                          fileName = dlg.FileName
                       End If
                    End Using
                
                    If IsNothing(fileName) Then Return
                
                    ' Add the first page from the file to the OCR document
                    Dim page As IOcrPage = _ocrDocument.Pages.AddPage(fileName, Nothing)
                    Dim pageCount As Integer = _ocrDocument.Pages.Count
                    ' Show some information about this page
                    Dim message As String = String.Format( _
                       "Total pages is {0}\nLast page added size = {1} by {2}\nResolution = {3} by {4}\nBits per pixel = {5}", _
                       pageCount, _
                       page.Width, page.Height, _
                       page.DpiX, page.DpiY, _
                       page.BitsPerPixel)
                    MessageBox.Show(message)
                 End Sub
                 
    
  11. button3(ページを削除します)Clickハンドラのために、以下のcodeを追加します:

    [C#]

    
                 private void button3_Click(object sender, EventArgs e)
                 {
                    // Remove all added pages from the OCR document
                    _ocrDocument.Pages.Clear();
                    MessageBox.Show("All the pages has been removed");
                 }
                 
    

    [Visual Basic]

    
                 Private Sub button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button3.Click
                    ' Remove all added pages from the OCR document
                    _ocrDocument.Pages.Clear()
                    MessageBox.Show("All the pages has been removed")
                 End Sub
                 
    
  12. button4(ペイジを上下に反転します)Clickハンドラのために、以下のcodeを追加します:

    [C#]

    
                 private void button4_Click(object sender, EventArgs e)
                 {
                    // Get the last page added to the OCR document
                    if (_ocrDocument.Pages.Count < 1)
                       return;
                
                    IOcrPage page = _ocrDocument.Pages[_ocrDocument.Pages.Count - 1];
                    // Get a RasterImage that represents this page
                    using (RasterImage image = page.GetRasterImage())
                    {
                       // Flip this image vertically
                       FlipCommand cmd = new FlipCommand(false);
                       cmd.Run(image);
                       // The RasterImage is a copy of the page, so update it
                       page.SetRasterImage(image);
                       MessageBox.Show("Last page has been flipped");
                    }
                 }
                 
    

    [Visual Basic]

    
                 Private Sub button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button4.Click
                    ' Get the last page added to the OCR document
                    If (_ocrDocument.Pages.Count < 1) Then
                       Return
                    End If
                    Dim page As IOcrPage = _ocrDocument.Pages(_ocrDocument.Pages.Count - 1)
                    ' Get a RasterImage that represents this page
                    Using image As RasterImage = page.GetRasterImage()
                       ' Flip this image vertically
                       Dim cmd As New FlipCommand(False)
                       cmd.Run(image)
                       ' The RasterImage is a copy of the page, so update it
                       page.SetRasterImage(image)
                       MessageBox.Show("Last page has been flipped")
                    End Using
                 End Sub
                 
    
  13. button5(シャットダウン)Clickハンドラのために、以下のcodeを追加します:

    [C#]

    
                 private void button5_Click(object sender, EventArgs e)
                 {
                    // Destroy the document
                    _ocrDocument.Dispose();
                    // Destroy the engine (will also shut it down)
                    _ocrEngine.Dispose();
                    MessageBox.Show("OCR engine and document has been destroyed")
                 }
                 
    

    [Visual Basic]

    
                 Private Sub button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button5.Click
                    ' Destroy the document
                    _ocrDocument.Dispose()
                    ' Destroy the engine (will also shut it down)
                    _ocrEngine.Dispose()
                    MessageBox.Show("OCR engine and document has been destroyed")
                 End Sub
                 
    
  14. プログラムをビルドして実行し、テストします。

  15. テスト他のコードサンプルの用途に、このプロジェクトを保存します。

参照

参照

OCRチュートリアル - ページの認識
OCRチュートリアル - ゾーンの追加と描画
OCRチュートリアル - 認識結果の操作
OCRチュートリアル - 検索可能PDFのスキャン
概要
ご使用にあたって(サンプルプログラムへのガイド)
LEADTOOLSは、.NETアセンブリのOCR処理を行います
LEADTOOLS .NET OCRによるプログラミング
OCR認識モジュールの概要
OCRエンジンインスタンスの作成
OCRエンジンの開始と終了
LEADTOOLS OCRによるマルチスレッド
OCRスペル言語辞書
OCR言語の操作
OCRページの操作
OCRゾーンの操作
OCRページを認めること
OCR信用度の報告
LEADTOOLS .NET OCRのOMRを使用して
OCR言語とスペルチェック
エンジンに特有の設定のOCR処理を行います