対象となる画像の読み込みから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 ); } }
MODI.DocumentはMODIの主要なインターフェイスであり、基本的な処理はすべてこのインターフェイスを用いて行います。よって最初にMODI.Documentのインスタンスを生成します。
処理対象の文章は、Document.Createメソッドで画像ファイルから読み込みます。
Document.OCRメソッドで、文章の言語を指定してOCRを実行します。
OCR処理中の状況は、Document.OnOCRProgressイベントで取得できます。
結果はDocument.Imagesプロパティを介して取得します。ImagesはImageのコレクションで、複数ページのドキュメントを保持しています。個々のページにはImagesインターフェイスのインデクサからアクセスできます。このプロパティはobject型で返すため、取得時にはImageにキャストする必要があります。