C#でのOCR画像からテキストへの修正とスペル修正

画像やスキャンしたドキュメントに対してOCRを実行し、C#を使用してプログラムでテキストデータを抽出できます。次に、スペルチェッカーを実行して、認識されたテキストのスペルミスを修正できます。この記事では、C#でOCR画像からテキストへの修正とスペル修正を実行する方法を学習します。

この記事では、次のトピックについて説明します。

  1. OCR画像からテキストおよびスペル修正C#API
  2. OCR画像からテキストへの変換とスペルミスの取得
  3. スペル修正を使用して画像をテキストに変換
  4. 認識されたテキストを正しいスペルで保存
  5. スペルチェックカスタムテキスト

OCR画像からテキストおよびスペル修正C#API

Aspose.OCR for .NET APIを使用して、画像のOCR、テキスト抽出、スペル修正を実行します。スキャンした画像、スマートフォンの写真、スクリーンショット、画像の領域、スキャンしたPDFを認識できます。認識されたテキスト結果を最も一般的なドキュメントおよびデータ交換形式で返します。 APIを使用すると、画像をテキストに変換したり、スキャンから検索可能なPDFを作成したりすることもできます。さらに、認識されたテキストのスペルミスを自動修正できます。

AsposeOcrクラスは、AsposeOCRライブラリのメインAPIです。 OCR操作を実行するためのさまざまな方法を提供します。このクラスのRecognizeImage()メソッドは、サポートされている形式の画像上のテキストを認識します。 APIのCorrectSpelling()メソッドは、スペルミスのある単語をテキスト内の正しい単語に置き換えます。 RecognitionResultクラスは、画像認識の結果を表します。このクラスのSave(string, SaveFormat、bool、SpellCheckLanguage、string)メソッドは、ドキュメントをプレーンテキストPDFまたはMicrosoftWordドキュメントとして保存します。スペルチェックでサポートされているすべての言語は、SpellCheckLanguage列挙で定義されています。

APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.OCR

OCR画像からテキストへの変換とC#でのスペルミスの取得

以下の手順に従って、画像に対してOCRを実行し、認識されたテキストのスペルミスのリストを取得できます。

  1. まず、AsposeOcrクラスのインスタンスを作成します。
  2. 次に、RecognitionSettingsクラスのオブジェクトを初期化します。
  3. 次に、RecognizeImage()メソッドを呼び出してRecognitionResultを取得します。画像パスとRecognitionSettingsオブジェクトを引数として取ります。
  4. その後、GetSpellCheckErrorList()メソッドを呼び出して、スペルミスのある単語のリストと提案を取得します。
  5. 最後に、SpellCheckErrorリストをループして、結果を表示します。

次のサンプルコードは、C#で認識されたテキストからスペルミスのリストを取得する方法を示しています。

// このコード例は、認識されたテキストからスペルミスのある単語のリストを取得する方法を示しています。
// 認識する画像へのパス
string imagePath = @"C:\Files\OCR\sample.png";

// OCRAPIを作成する
AsposeOcr api = new AsposeOcr();

// 認識設定を初期化する
RecognitionSettings settings = new RecognitionSettings();

// 画像を認識する           
RecognitionResult result = api.RecognizeImage(imagePath, settings);

// スペルミスのある単語のリストと提案を取得する
List<SpellCheckError> errorsList = result.GetSpellCheckErrorList(SpellCheckLanguage.Eng);

foreach (var word in errorsList)
{
    Console.WriteLine($"Misspelled Word - {word.Word}");
    foreach (var suggest in word.SuggestedWords)
    {
        Console.WriteLine($"Suggested word - {suggest.Word}");
    }

    Console.WriteLine();
}
OCR画像からテキストへの変換とC#でのスペルミスの取得

C#でのスペルミスのリストを取得する

C#でスペル修正を使用して画像をテキストに変換する

以下の手順に従って、画像をテキストに変換し、スペルミスを自動修正できます。

  1. まず、AsposeOcrクラスのインスタンスを作成します。
  2. 次に、RecognitionSettingsクラスのオブジェクトを初期化します。
  3. 次に、RecognizeImage()メソッドを呼び出してRecognitionResultを取得します。画像パスとRecognitionSettingsオブジェクトを引数として取ります。
  4. その後、GetSpellCheckCorrectedText()メソッドを呼び出して、スペルが修正されたテキストを取得します。
  5. 最後に、結果を表示します。

次のサンプルコードは、C#で認識されたテキストからスペルミスを自動修正する方法を示しています。

// このコード例は、認識されたテキストからスペルミスを自動修正する方法を示しています。
// 認識する画像へのパス
string imagePath = @"C:\Files\OCR\sample.png";

// OCRAPIを作成する
AsposeOcr api = new AsposeOcr();

// 認識設定を初期化する
RecognitionSettings settings = new RecognitionSettings();

// 画像からテキストを認識する    
RecognitionResult result = api.RecognizeImage(imagePath, new RecognitionSettings());

// 修正された結果を取得する
string correctedResult = result.GetSpellCheckCorrectedText(SpellCheckLanguage.Eng);

// 結果を示す
Console.WriteLine(correctedResult);
C#でスペル修正を使用して画像をテキストに変換する

C#でスペル修正を使用して画像をテキストに変換する

認識されたテキストを修正されたスペルでC#に保存する

以下の手順に従って、スペル修正後に認識されたテキストを画像から保存できます。

  1. まず、AsposeOcrクラスのインスタンスを作成します。
  2. 次に、RecognitionSettingsクラスのオブジェクトを初期化します。
  3. その後、RecognizeImage()メソッドを呼び出してRecognitionResultを取得します。画像パスとRecognitionSettingsオブジェクトを引数として取ります。
  4. 最後に、Save(string, SaveFormat、bool、SpellCheckLanguage)メソッドを呼び出してテキストを保存します。 applySpellingCorrectionブール値をtrueとして受け取ります。

次のサンプルコードは、C#でスペルを修正してテキストを保存する方法を示しています。

// このコード例は、認識されたテキストをスペル修正で保存する方法を示しています。
// 認識する画像へのパス
string imagePath = @"C:\Files\OCR\sample.png";
string resultPath = @"C:\Files\OCR\MyResult.txt";

// OCRAPIを作成する
AsposeOcr api = new AsposeOcr();

// 認識設定を初期化する
RecognitionSettings settings = new RecognitionSettings();
         
// 画像からテキストを認識する 
RecognitionResult result = api.RecognizeImage(imagePath, new RecognitionSettings());

// 修正したテキストを保存する
result.Save(resultPath, SaveFormat.Text, true, SpellCheckLanguage.Eng);

C#のスペルチェックテキスト

以下の手順に従って、カスタムテキストのスペルチェックを実行することもできます。

  1. まず、AsposeOcrクラスのインスタンスを作成します。
  2. 次に、CorrectSpelling()メソッドを呼び出します。修正するテキストと引数としてSpellCheckLanguageが必要です。
  3. 最後に、結果を表示します。

次のサンプルコードは、C#でカスタムテキストのスペルチェックを行う方法を示しています。

// このコード例は、カスタムテキスト文字列に対してスペルチェックを実行する方法を示しています。
// スペルチェックのテキスト
string textToCorrect = "This is sample text wth errrors";

// OCRAPIを作成する
AsposeOcr api = new AsposeOcr();

// スペルチェックを実行してエラーを修正します
string correctedText = api.CorrectSpelling(textToCorrect, SpellCheckLanguage.Eng);

// 結果を示す
Console.WriteLine(correctedText);
This is sample text with errors

無料の評価ライセンスを取得する

無料の一時ライセンスを取得、評価の制限なしにAspose.OCRfor.NETを試すことができます。

結論

この記事では、次の方法を学びました。

  • OCRを実行し、C#で画像上のテキストを認識します。
  • スペルミスのある単語のリストと正しい単語の提案を取得します。
  • スペルミスの自動修正。
  • 修正したテキストをプログラムで保存します。

さらに、ドキュメントを使用して、Aspose.OCR for.NETAPIについて詳しく知ることができます。あいまいな点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目