OCR(光学式文字認識)は、画像やスキャンされたドキュメントからテキストを認識して読み取るためによく知られており、広く使用されているテクノロジです。 OCR操作では、画像上の文字がスキャンされ、認識され、デジタル形式に変換されます。変換されたテキストは、検証および保存して、さらに操作を実行できます。この記事では、.NETアプリケーション内でC#を使用してプログラムで画像をテキストに変換するOCRを実行する方法を紹介します。記事の残りの部分は、次のセクションに分かれています。
C#OCRライブラリ-インストール
Aspose.OCR for .NETは、画像をスキャンしてテキストに非常に簡単に変換できる強力なOCRライブラリです。 .NETアプリケーション内でOCR機能を起動して実行するために、長いコードは必要ありません。 C#OCRライブラリのインストール方法は次のとおりです。
NuGetパッケージマネージャーを介してインストール
NuGetパッケージマネージャーでAspose.OCRを検索し、インストールするだけです。
パッケージマネージャーコンソールを介してインストール
以下は、パッケージマネージャーコンソールを介してAspose.OCRをインストールするコマンドです。
PM> Install-Package Aspose.OCR
C#OCRAPIを使用して画像をテキストに変換する
スキャンしたドキュメントのページである可能性のある画像に対してOCRを実行する方法を見てみましょう。この操作を実行する手順は次のとおりです。
- AsposeOcrクラスのインスタンスを作成します。
- 画像のパスを渡してAsposeOcr.RecognizeImage(string)メソッドを呼び出し、結果を文字列オブジェクトに取得します。
次のコードサンプルは、C#を使用して画像をテキストに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-ocr/Aspose.OCR-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_OCR();
// AsposeOcrのインスタンスを初期化します
AsposeOcr api = new AsposeOcr();
// 画像を認識する
string result = api.RecognizeImage(dataDir + "Sampleocr.bmp");
// 認識されたテキストを表示する
Console.WriteLine(result);
1行のテキストを含む画像に対してOCRを実行する
前の例では、複数行のテキストを含む画像に対してOCRを実行しました。ただし、画像に1行のテキストしか含まれていない可能性があります。このような場合、APIに行のみを認識するように指示できます。以下は、1行のテキストを含む画像の変換を実行する手順です。
- AsposeOcrクラスのオブジェクトを作成します。
- AsposeOcr.RecognizeLine(string)メソッドを呼び出し、画像ファイルのパスを渡します。
- 結果を文字列オブジェクトに取得します。
次のコードサンプルは、C#を使用してOCRを実行し、1行のテキストを含む画像を変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-ocr/Aspose.OCR-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_OCR();
// AsposeOcrのインスタンスを初期化します
AsposeOcr api = new AsposeOcr();
// 画像を認識する
string result = api.RecognizeLine(dataDir + "sample_line.png");
// 認識されたテキストを表示する
Console.WriteLine(result);
英語以外の文字に対してOCRを実行する
Aspose.OCRは、英語のOCR機能を制限するものではなく、他の言語の文字も認識できます。認識プロセスとコードは、テキストの言語に関係なく同じままです。以下は、AsposeのOCRAPIで認識できる文字のセットです。
結論
この記事では、C#を使用してプログラムでOCRを実行し、画像をテキストに変換する方法を示しました。 1行または複数行のテキストを含む画像内の文字を認識できます。 C#OCR APIの詳細については、ドキュメントをご覧ください。