光学式文字認識(OCR)を使用して、画像から編集可能な形式にテキストを変換できます。 JPG、PNG、TIFF、BMP、GIFなどの画像はインターネット上のあらゆる場所で使用されており、必要になる場合があります。オンライン画像からテキストを認識します。ファイルを保存またはダウンロードする代わりに、その画像へのURLリンクを使用して、画像に対してOCRを簡単に実行できます。次の見出しでは、詳細についてさらに説明します。
Java OCR API –インストール
Aspose.OCR for Java APIを使用して、画像に対して光学式文字認識操作を実行できます。テキストを認識し、画像を編集可能なテキストに変換できます。 ダウンロードセクションからAPIのJARファイルをダウンロードするか、プロジェクトのpom.xmlファイルで次の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を使用してURLから画像にOCRを実行してテキストを認識する
次の手順で、URLからの画像に対して光学式文字認識を実行できます。
- AsposeOCRクラスでAPIインスタンスを作成します。
- 画像URIを指定します。
- RecognitionSettingsクラスで認識オプションを設定します。
- 結果オブジェクトを取得します。
- 結果を印刷します。
次のコードは、Javaを使用してプログラムでURLから画像に対してOCRを実行することにより、テキストを認識する方法を説明しています。
//APIインスタンスを作成します
AsposeOCR api = new AsposeOCR();
// 画像URIを指定する
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
// 認識オプションを設定する
RecognitionSettings settings = new RecognitionSettings();
settings.setAutoSkew(false);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// 結果オブジェクトを取得する
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// 結果を印刷する
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
Javaを使用してOCRで歪んだ画像または傾斜した画像からのテキストを認識する
何らかの理由で画像が傾いたり歪んだりすることがあります。たとえば、カメラやスキャナーで作成された画像は少し歪んでいる可能性があり、入力画像の歪角を取得できます。スキュー角度を把握して修正することにより、テキスト認識の精度を向上させることができます。次の手順に従う必要があります。
- AsposeOCRオブジェクトを使用してAPIインスタンスを作成します。
- 認識オプションを設定します。
- スキュー角度を計算して設定します。
- RecognitionResultオブジェクトを使用して結果を取得し、それを出力します。
以下のコードは、JavaでプログラムによってOCRを使用して歪んだ画像からテキストを認識する方法を示しています。
//APIインスタンスを作成します
AsposeOCR api = new AsposeOCR();
String uri = "https://www.castlegateit.co.uk/wp-content/uploads/2016/09/justified_text.png";
BufferedImage image = null;
try{
java.net.URL url =new java.net.URL(uri);
// URLを読む
image = ImageIO.read(url);
}catch(IOException e){
e.printStackTrace();
}
// 認識オプションを設定する
RecognitionSettings settings = new RecognitionSettings();
double angle = 0;
// スキュー角度を取得
try {
angle = api.CalcSkewImage(image);
System.out.println("Skew text is:" + angle + " degrees.");
} catch (IOException e1) {
e1.printStackTrace();
}
settings.setSkew(angle);
ArrayList<Rectangle> rectangles = new ArrayList<Rectangle>();
rectangles.add(new Rectangle(90,186,775,95));
settings.setRecognitionAreas(rectangles);
// 結果オブジェクトを取得する
RecognitionResult result = null;
try {
result = api.RecognizePageFromUri(uri, settings);
} catch (IOException e) {
e.printStackTrace();
}
// 結果を印刷する
System.out.println("Result: \n" + result.recognitionText+"\n\n");
System.out.println("RecognitionAreasText: \n");
for(String text: result.recognitionAreasText) {
System.out.println(text);
}
無料のAPIライセンスを取得する
無料一時ライセンスをリクエストして、APIを最大限に評価することができます。
結論
結論として、任意のURLアドレスからの画像に対してOCR操作を実行することによってテキストを認識する方法を学びました。さらに、APIの精度と効率を向上させるために、画像のスキュー角度を修正する方法についても説明しました。 ドキュメントにアクセスしてAPIの他のいくつかの機能を確認するか、質問がある場合は無料サポートフォーラムからお気軽にお問い合わせください。