Browse our Products

Aspose.OCR for Java 23.10.0 - Release Notes

Deprecation warning

What was changed

KeySummaryCategory
OCRJAVA‑337Added a specialized recognition model for extracting content from street photos and other images with sparse text and noisy/colored backgrounds.New feature
OCRJAVA‑340Fixed incorrect line order that sometimes occurred when saving OCR results as multi-page documents.Fix

Public API changes and backwards compatibility

This section lists all public API changes introduced in Aspose.OCR for Java 23.10.0 that may affect the code of existing applications.

Added public APIs:

The following public APIs have been introduced in Aspose.OCR for Java 23.10.0 release:

RecognizeStreetPhoto() method

Extract content from images with sparse text and noisy/colored backgrounds. This method significantly improves OCR accuracy in the following business cases:

  • Read text from street photos.
  • Segment and identify road signs and signboards within street images.
  • Locate price tags and interpret the extracted text as prices.
  • Find and aggregate regions of interest on food labels, such as nutritional information or ingredient lists.
  • Identify and analyze car license plates.
  • Extract text from menus and catalogs.

DetectAreasMode.TEXT_IN_WILD

A new areas detection algorithm that finds individual words on images with sparse text, such as street photos, price tags, food labels, menus, ads and the like.

Updated public APIs:

No changes.

Removed public APIs:

No changes.

Examples

The examples below illustrates the changes introduced in this release:

Extracting text from a street photo

AsposeOCR api = new AsposeOCR();
// Load an image
OcrInput input  = new OcrInput(InputType.SingleImage);
input.add(os.path.join(self.dataDir, "photo.png"));
// Recognize text
ArrayList<RecognitionResult> results = api.RecognizeStreetPhoto(input);
results.forEach((result) -> {
	System.out.println(result.recognition_text);
});

Find words on a traffic sign

AsposeOCR api = new AsposeOCR();
RecognitionSettings recognitionSettings = new RecognitionSettings();
recognitionSettings.setDetectAreasMode(DetectAreasMode.TEXT_IN_WILD);
// Load an image
OcrInput images = new OcrInput(InputType.SingleImage);
images.add("sign.png");
// Recognize images
ArrayList<RecognitionResult> results = api.Recognize(images, recognitionSettings);
System.out.println("Recognition result:\n" + results[0].recognitionText + "\n\n");