光学式文字認識(OCR)テクノロジーにより、スキャンしたドキュメントや画像内のテキストを認識して読み取ることが可能になりました。 OCRを使用すると、読み取り専用テキストを編集可能な形式に変換できます。変換されたテキストは、テキスト分析などの操作のためにさらに処理できます。この記事では、画像(PNG、JPG、BMP、GIF)でOCRを実行し、画像をテキストに変換する方法を紹介します。 JavaOCRAPIの使用- Aspose.OCRforJava。
ヒント:テキストからアニメーションを生成できる無料のText to GIFConverterに興味があるかもしれません。
JavaOCRAPI-インストール
Aspose.OCR for Javaは、JARとしてダウンロードするか、次の構成を使用してMavenベースのアプリケーション内にインストールできます。
リポジトリ:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
依存:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-ocr</artifactId>
<version>20.5</version>
</dependency>
Javaを使用して画像をテキストに変換する
ほとんどの場合、OCRの画像は、スキャンされたドキュメント、請求書、領収書、請求書などのページであり、テキストは複数の行で構成されています。このようなシナリオでは、画像からテキスト全体を取得する必要があります。以下は、Aspose.OCR for Javaを使用して、複数行のテキストを含む画像に対してOCRを実行する手順です。
- AsposeOcrクラスのインスタンスを作成します。
- AsposeOcr.recognizePage(String fullPath)メソッドを使用して、画像のパスを渡し、画像をテキストに変換します。
- 変換されたテキストを文字列オブジェクトに取得します。
次のコードサンプルは、Javaを使用して画像に対してOCRを実行し、画像をテキストに変換する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-ocr/Aspose.OCR-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getSharedDataDir(PerformOCROnPage.class);
// 画像パス
String imagePath = dataDir + "p3.png";
//APIインスタンスを作成します
AsposeOCR api = new AsposeOCR();
// ファイルへのフルパスでページを認識する
try {
String result = api.RecognizePage(imagePath);
System.out.println("Result: " + result);
} catch (IOException e) {
e.printStackTrace();
}
1行のテキストを持つ画像を変換する
前の例では、複数行のテキストを持つ画像に対してOCRを実行しました。ただし、画像に1行のテキストが含まれている場合があります。このような場合、それに応じてAPIを構成できます。以下は、1行のテキストを持つ画像を変換する手順です。
- AsposeOcrクラスのオブジェクトを作成します。
- AsposeOcr.recognizeLine(String fullPath)メソッドを使用して画像をテキストに変換します。
- 結果を文字列オブジェクトに取得します。
次のコードサンプルは、Javaを使用して1行のテキストを持つ画像に対してOCRを実行する方法を示しています。
// 完全な例とデータファイルについては、https://github.com/aspose-ocr/Aspose.OCR-for-Javaにアクセスしてください。
// ドキュメントディレクトリへのパス。
String dataDir = Utils.getSharedDataDir(RecognizeLine.class);
// 画像パス
String imagePath = dataDir + "0001460985.Jpeg";
//APIインスタンスを作成します
AsposeOCR api = new AsposeOCR();
try {
String result = api.RecognizeLine(imagePath);
System.out.println("File: " + imagePath);
System.out.println("Result line: " + result);
} catch (IOException e) {
e.printStackTrace();
}
結論
この記事では、Java OCR APIを使用してPNG、JPG、BMP、およびGIF画像をテキストに変換する方法を見てきました。コードサンプルは、Javaアプリケーション内で1行または複数行のテキストを持つ画像に対してOCRを実行する方法を示しています。 ドキュメントを使用して、AsposeのJavaOCRAPIについて詳しく知ることができます。