This section details the steps necessary to create an iOS application which captures data from a document of a known type, without actually snapping a picture.
The fact that we know the type of the document beforehand helps increase recognition accuracy in data capture scenarios. Before starting processing, you select the correct data capture profile to specify the document type. The Real-Time Recognition SDK engine for iOS automatically requests frames from the device camera and processes them, trying to match one of the result schemes corresponding to the selected profile. Every frame requested from the video stream is used to check and refine the already accumulated recognition result, until a scheme is matched and the result stability reaches the required level.
Consequently, for some profiles several result schemes are possible — for example, if a country has recently changed the ID form, and both forms are still in circulation. See Supported Documents for the list of supported countries and documents, and Data Capture Profiles for a full specification of all data capture profiles and result schemes.
Note: Predefined data capture profiles are available only in the extended version of the library.Note that Real-Time Recognition library for iOS 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 iOS.
To implement the document data capture scenario, follow these steps:
Important! If nil is passed instead of a valid RTRDataScheme 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.