スキャンした文書からテキストを認識する場合でも、画像からデータを抽出する場合でも、画像をテキストに変換する機能は新しい可能性を切り開きました。このブログ投稿では、Java で画像をテキストに変換する方法を学び、光学式文字認識 (OCR) を使用して画像からテキストを認識して抽出する方法を探ります。
OCRとは何ですか?
光学式文字認識 (OCR) は、スキャンした紙の文書、PDF、画像など、さまざまな種類の文書を編集および検索可能なデータに変換するテクノロジです。ここでは、Java で OCR を使用して画像からテキストを認識することに焦点を当てます。
画像からテキストへの変換が必要な理由
画像をテキストに変換すると、データ入力プロセスが効率化され、画像内のテキストベースの検索が可能になり、さまざまなアプリケーションへの画像データの統合が容易になります。スキャンした文書、写真、スクリーンショットのいずれを扱う場合でも、画像からテキストを読み取る機能は画期的なものです。
Java で OCR を使用して画像をテキストに変換する
Java で OCR を使用して画像をテキストに変換するには、以下の手順に従う必要があります。
- Conholdate.Total for Javaをシステムにインストールします。
- AsposeOCR クラスを使用して OCR API のインスタンスを作成します。
- RecognitionSettings クラスを使用して設定を指定します。
- PreprocessingFilter クラス オブジェクトを使用して処理フィルターを設定します。
- OcrInput クラス インスタンスを使用して画像を準備します。
- Recognize メソッドを使用して画像を認識します。
以下のコード スニペットは、Java で画像をテキストに変換する方法を示しています。
// OCR APIのインスタンスを作成する
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();
// 認識設定を指定する
com.aspose.ocr.RecognitionSettings settings = new com.aspose.ocr.RecognitionSettings();
settings.setDetectAreasMode(com.aspose.ocr.DetectAreasMode.PHOTO);
settings.setUpscaleSmallFont(true);
// 処理フィルターを設定する
com.aspose.ocr.PreprocessingFilter filters = new com.aspose.ocr.PreprocessingFilter();
filters.add(com.aspose.ocr.PreprocessingFilter.AutoDenoising());
// 画像を準備する
com.aspose.ocr.OcrInput images = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage, filters);
images.add("source.png");
// 画像を認識する
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(images, settings);
results.forEach((result) ->{
System.out.println(result.recognitionText);
});
Java を使用して特定の領域を処理して画像をテキストに変換する
場合によっては、画像の特定の領域からテキストを認識する必要があります。したがって、Java の OCR を使用してテキストを認識するには、1 つまたは複数の直角座標を設定できます。以下の手順では、Java を使用して JPG または PNG 画像をテキストに変換するプロセスを詳しく説明します。
- あなたの側でConholdate.Total for Javaを設定します。
- ArrayList クラスを使用して、テキストを含む四角形のリストを準備します。
- OcrInput クラスを使用して入力画像を準備します。
- AsposeOCR クラスを使用して API インスタンスを作成します。
- RecognitionResult クラスを使用してテキストを認識し、出力を取得します。
次のサンプル コードは、Java を使用して特定の領域を認識しながら画像をテキストに変換する方法を説明しています。
// テキスト付きの長方形を用意する
ArrayList rectArray = new ArrayList();
rectArray.add(new java.awt.Rectangle(138, 352, 2033, 537));
rectArray.add(new java.awt.Rectangle(147, 890, 2033, 1157));
// 認識の設定をする
com.aspose.ocr.RecognitionSettings recognitionSettings = new com.aspose.ocr.RecognitionSettings();
recognitionSettings.setRecognitionAreas(rectArray);
// 画像を準備する
com.aspose.ocr.OcrInput oi = new com.aspose.ocr.OcrInput(com.aspose.ocr.InputType.SingleImage);
oi.add("source.png");
// APIインスタンスを作成する
com.aspose.ocr.AsposeOCR api = new com.aspose.ocr.AsposeOCR();
// 画像を認識する
ArrayList<com.aspose.ocr.RecognitionResult> results = api.Recognize(oi, recognitionSettings);
results.forEach((result) ->{
System.out.println(result.recognitionText);
});
無料評価ライセンス
評価制限なしで、Java を使用して OCR で画像をテキストに変換するための 無料の一時ライセンス を取得できます。
まとめ
このブログ記事では、OCR を使用して Java で画像をテキストに変換する方法について説明しました。画像からテキストへの変換をアプリケーションにシームレスに統合できます。JPG、PNG、その他の画像形式を扱っている場合でも、画像からテキストを読み取る機能があれば、データ処理と分析の可能性が広がります。ただし、要件に合わせてコードをカスタマイズしたり、質問がある場合は、フォーラム にお気軽にお問い合わせください。