Receipt recognition settings
Contents
[
Hide
]
Aspose.OCR for Java allows for very flexible customization of recognition accuracy, performance, and other settings by configuring the properties of the ReceiptRecognitionSettings
object.
These settings are applicable when extracting text from scanned or photographed receipts.
Method | Parameter | Default state | Description |
---|---|---|---|
setAllowedCharacters |
Case-sensitive string of characters or one of the predefined character sets:
|
All characters from the selected recognition language. | The whitelist of characters Aspose.OCR engine will look for. |
setIgnoredCharacters |
Case-sensitive string of characters | All characters are recognized | A blacklist of characters that are ignored during recognition. |
setLanguage |
Recognition language | Extended Latin characters, including diacritics | Specify a language for recognition. |
setThreadsCount |
Number of threads, int |
Automatic | The number of CPU threads used for recognition. |
setUpscaleSmallFont |
|
Disabled | Improve small font recognition and detection of dense lines. |
setAutomaticColorInversion |
boolean | true |
Set the method parameter to true automatically detect white text on a dark/black background and use a special OCR algorithm to improve receipt recognition accuracy. Call this method with the parameter set to “false” to explicitly disable inverted text detection to save resources. |
Applicable to
Example
The following code example shows how to fine-tune receipt recognition:
AsposeOCR api = new AsposeOCR();
// Add images to the recognition batch
OcrInput input = new OcrInput(InputType.SingleImage);
input.add(os.path.join(self.dataDir, "receipt1.png"));
input.add(os.path.join(self.dataDir, "receipt2.png"));
// Recognition settings
ReceiptRecognitionSettings recognitionSettings = new ReceiptRecognitionSettings();
recognitionSettings.setLanguage(Language.Ukr);
// Recognize receipts
ArrayList<RecognitionResult> results = api.RecognizeReceipt(input, recognitionSettings);
results.forEach((result) -> {
System.out.println(result.recognition_text);
});