OCRの手順

対象となる画像の読み込みからOCRの結果の取得までの一連の流れを、コードの例とともに解説します。

  1. ドキュメントの作成
  2. 画像の読み込み
  3. OCRの実行
  4. OCR結果のテキストの取得

サンプルコード

static void Main()
{
    string imageFile = "sample.jpg";

    // 1. ドキュメントの作成
    MODI.Document document = new MODI.Document();

    // 2. 画像の読み込み
    document.Create( imageFile );

    try
    {
        // 3. OCRの実行
        document.OCR( MODI.MiLANGUAGES.miLANG_JAPANESE, true, true );

        // 4. 結果の取得
        for( int i = 0; i < document.Images.Count; i++ )
        {
            // 1ページ分のイメージを取得
            MODI.Image image = ( MODI.Image )document.Images[ i ];

            // OCR結果の取得
            MODI.Layout layout = image.Layout;

            // 認識されたテキストを表示
            Console.Write( layout.Text );
        }
    }
    catch( System.Runtime.InteropServices.COMException ex )
    {
        // 認識失敗
        Console.Write( ex.Message );
    }
}

1. ドキュメントの作成

MODI.DocumentはMODIの主要なインターフェイスであり、基本的な処理はすべてこのインターフェイスを用いて行います。よって最初にMODI.Documentのインスタンスを生成します。

2. 画像の読み込み

処理対象の文章は、Document.Createメソッドで画像ファイルから読み込みます。

3. OCRの実行

Document.OCRメソッドで、文章の言語を指定してOCRを実行します。

処理状況の取得

OCR処理中の状況は、Document.OnOCRProgressイベントで取得できます。

4. OCR結果のテキストの取得

結果はDocument.Imagesプロパティを介して取得します。ImagesはImageのコレクションで、複数ページのドキュメントを保持しています。個々のページにはImagesインターフェイスのインデクサからアクセスできます。このプロパティはobject型で返すため、取得時にはImageにキャストする必要があります。