Passport recognition settings

Aspose.OCR for Java allows for very flexible customization of passport recognition accuracy, performance, and other settings by configuring the properties of the PassportRecognitionSettings object.

These settings are specifically tailored for processing scanned or photographed passports.

Setting Type Default value Description
setAllowedCharacters Case-sensitive string of characters or one of the predefined character sets:
  • CharactersAllowedType.ALL - try to recognize all characters.
  • CharactersAllowedType.LATIN_ALPHABET - only recognize case-insensitive Latin / English text (A to Z and a to z), without accented characters.
  • CharactersAllowedType.DIGITS - recognize only binary, octal, decimal, or hexadecimal numbers (0-9 and A to F).
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.
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 passport recognition accuracy. Call this method with the parameter set to “false” to explicitly disable inverted text detection to save resources.
setCountry Country NONE Extract key passport details (such as a number, name, date of birth, and so on) for the specific country in addition to the entire passport text.
See Supported countries section below.

Supported countries

A list of countries for retrieving specific details (such as a number, name, date of birth, and so on) from passport images:

Value Country
Country.NONE Do not parse passport details (only recognize passport text).
Country.MADAGASCAR Parse Malagasy passports.
Country.USA Parse US passports.

Applicable to

Example

The following code example shows how to fine-tune passport recognition:

AsposeOCR api = new AsposeOCR();
// Add images to the recognition batch
OcrInput input  = new OcrInput(InputType.SingleImage);
input.add(os.path.join(self.dataDir, "passport1.png"));
input.add(os.path.join(self.dataDir, "passport2.png"));
// Recognition settings
PassportRecognitionSettings recognitionSettings = new PassportRecognitionSettings();
recognitionSettings.setLanguage(Language.Ukr);
// Recognize passports
ArrayList<RecognitionResult> results = api.RecognizePassport(input, recognitionSettings);
results.forEach((result) -> {
	System.out.println(result.recognition_text);
});