This guide describes the procedure you need to follow to create an application for your Android device which captures data from a specified type of document, without snapping a photo.
In data capture scenarios, the processing quality is improved by the fact that we know which kind of fields may be expected on the document. When you start capturing, you specify the type of document you are going to recognize (a data capture profile). The Real-Time Recognition SDK engine will automatically request new camera frames and process them, trying to apply corresponding result schemes. The engine uses each new frame to verify and improve the recognition result from the previous frame. This process is continued until a specific result scheme is matched and the result reaches the required stability level.
For some data capture profiles, there are two or more corresponding result schemes. The difference between a data capture profile and a result scheme is the following:
The profile you specify determines which result schemes may be applied during recognition, and the result scheme determines which document fields will be recognized and returned as the result. Data capture profiles and corresponding result schemes supported in Real-Time Recognition Android library are detailed in Data Capture Profiles; see also the summary below in Supported ID Documents.
Note: Predefined data capture profiles are available only in the extended version of the library.
Note that Real-Time Recognition library for Android also allows you to create custom data capture profiles for documents that are not supported out-of-the-box. See Capture a Custom Data Field for the description of this scenario.
Real-Time Recognition SDK provides predefined data capture profiles for many types of data, including:
Recognizing with predefined profiles does not require you to set specific rules or specify regular expressions that should match document fields. You simply specify a data capture profile (the general type of a document) and get recognized data with a more specific result scheme identifying the recognized document.
Real-Time Recognition SDK can automatically detect and recognize the machine-readable zone (MRZ) on various ID documents: passports, ID cards, travel documents, and other. For details on supported MRZ types and recognized data, see MRZ profiles.
For example, when recognizing a 2-line or 3-line MRZ of a passport or an ID document, Real-Time Recognition SDK will recognize and extract the following data:
Real-Time Recognition SDK allows to automatically detect and extract international bank account numbers for Germany, France, Spain, and the United Kingdom. IBAN can be extracted from any document.
Real-Time Recognition SDK can capture data from debit and credit cards, embossed and unembossed.
When recognizing a bank card, Real-Time Recognition SDK will detect and extract the card number, cardholder's full name, and date of expiry.
Real-Time Recognition SDK can automatically extract data from various ID documents such as ID cards, driver's licenses, passports, and other documents from different countries (see Data Capture Profiles for detailed information).
For example, when recognizing the front side of a German ID card, Real-Time Recognition SDK will detect and extract the following data:
The rest of the data in the German ID card scheme is recognized from the back side of the card; note that the data capture profile you specify and the result data scheme are the same for both card sides.
Note: Before you begin, see Build your application with the OCR library for Android.
To implement the document data capture scenario, follow these steps:
Important! If null is passed instead of a valid DataScheme object, the data scheme has not yet been matched, which may mean that the document the user is trying to recognize is not a passport. In this case, the results are not usable.
See the description of classes and methods in the API Reference section.