ABBYY Mobile OCR Engine 4

Go to: Contents | Guided Tour

Recognizing Business Cards

Business cards contain business information about a company or a person. Business cards can include person name, company, telephone numbers, fax, e-mail, website addresses and similar information. You may need to capture this information from paper business cards and save it in digital form. It can be the address book of a mobile phone, e-mail client, or any other data storage system.

In ABBYY Mobile OCR Engine a business card is represented by a set of fields, which can be of different types such as name, phone number, e-mail address. Fields of some types can also contain several components, e.g. name field can contain "first name", "middle name", and "last name" components. To extract the information you need, you can implement a procedure iterating through fields and performing different actions depending on the field type.

General recommendations

Business card recognition quality will be significantly improved if you add the English language to the list of recognition languages and use the English.akw keywords dictionary, even if the business cards you recognize are not in English.

Not all languages are provided with the keywords dictionaries necessary for business card recognition. See Recognition Languages in ABBYY Mobile OCR Engine for a full list.

Native library

The ABBYY Mobile OCR Engine native library provides the FineRecognizeBusinessCard function for recognizing an image as a business card. Follow these steps:

  1. Load the image for recognition using the FineLoadImageFromFile or FineLoadImageFromInputStream functions. See How to Use the Native Library for details.
  2. The parameters of the FineRecognizeBusinessCard function are the same as for the FineRecognizeImage function (described in How to Use the Native Library), with the following exceptions:
  3. Work with the result of recognition. The CFineBusinessCard structure contains an array of fields represented by CFineBcrField structure variables. Search through these fields for the information you need.
    Use the value of CFineBcrField.Type to check the type of field (represented by constants of TBcrFieldType enumeration).
    Use the value of CFineBcrField.TextLines to obtain the text of the business card field. It can contain several lines represented by CFineTextLine structures.

If your scenario requires recognizing different kinds of documents and detecting business cards among them, you can also use the FineAnalyzeTextAsBusinessCard function, which looks for business card fields in the text that has already been recognized.

See also

How to Use the Native Library