2
Automatic Contact Importer from Business Cards for Android Piyush Sharma Kacyn Fujii [email protected] [email protected] Description Recently, smartphones have become extremely popular in the general population as of August 2013, 145 million people in the United States own smartphones [1]. Of these, Android phones make up 51.6% of the smartphone market share [1] and have increasingly powerful processors and cameras. This allows for the creation of standalone Android applications that can capture and process images. Optical character recognition, or OCR, involves the conversion of images to machinereadable text [2]. Commercial applications of OCR have been developed since the 1950s [3] and include texttospeech, business document readers, bill processing systems, and many other applications. Our project is to implement OCR algorithms using the Android platform using OpenCV to read information from business cards. The image of the business card will first be taken using the Android camera, then processed using an OCR engine like Tesseract. Once the contact information of the business card owner is extracted, this information will then be added into the phone user’s contact book. This standalone Android application would remove the need to manually enter information from business cards into one’s contacts list. Algorithm The input from the camera needs to be aligned to get a frontalview of the businesscard for OCR. Other preprocessing might include binarization and morphological operations to remove any stray foreground pixels (if needed). The image would then be fed to an OCR engine to recognize individual characters, which then need to be combined using spatial cues and heuristics into name and phone numbers. For example, a word with no number located on top of a block of text is likely to be the name, and a word with all numbers is likely a phonenumber. This information can then be added to the phone’s contact list using Android APIs. Please refer to Figure 1. The above system will be implemented on Android using OpenCV. Milestones Alignment and Preprocessing Implementation of a lightweight OCR, or use Tesseract [4] Algorithm to extract name and phonenumber from the recognized characters Using Android APIs to automatically add a contact

Sharma Fujii Automatic Contact Importer

Embed Size (px)

Citation preview

Page 1: Sharma Fujii Automatic Contact Importer

Automatic Contact Importer from Business Cards for Android

Piyush Sharma                              Kacyn [email protected]                 [email protected]

DescriptionRecently, smartphones have become extremely popular in the general population ­ as of August 2013, 145                             million people in the United States own smartphones [1]. Of these, Android phones make up 51.6% of the                                 smartphone market share [1] and have increasingly powerful processors and cameras. This allows for the                           creation of standalone Android applications that can capture and process images.

Optical character recognition, or OCR, involves the conversion of images to machine­readable text [2].                         Commercial applications of OCR have been developed since the 1950s [3] and include text­to­speech,                         business document readers, bill processing systems, and many other applications.

Our project is to implement OCR algorithms using the Android platform using OpenCV to read information                             from business cards. The image of the business card will first be taken using the Android camera, then                                 processed using an OCR engine like Tesseract. Once the contact information of the business card owner                             is extracted, this information will then be added into the phone user’s contact book. This standalone                             Android application would remove the need to manually enter information from business cards into one’s                           contacts list.

AlgorithmThe input from the camera needs to be aligned to get a frontal­view of the business­card for OCR. Other                                   pre­processing might include binarization and morphological operations to remove any stray foreground                     pixels (if needed). The image would then be fed to an OCR engine to recognize individual characters,                               which then need to be combined using spatial cues and heuristics into name and phone numbers. For                               example, a word with no number located on top of a block of text is likely to be the name, and a word with                                             all numbers is likely a phone­number. This information can then be added to the phone’s contact list using                                 Android APIs. Please refer to Figure 1.

The above system will be implemented on Android using OpenCV.

Milestones● Alignment and Pre­processing● Implementation of a light­weight OCR, or use Tesseract [4]● Algorithm to extract name and phone­number from the recognized characters● Using Android APIs to automatically add a contact

Page 2: Sharma Fujii Automatic Contact Importer

Figure 1: System Overview

References[1] ComScore: Windows Phone now at 3.2% market share, Android at 51.6% in the United States.WinBeta.  Accessed 21 October 2013.http://www.winbeta.org/news/comscore­windows­phone­now­32­market­share­android­516­united­states

[2] Impedovo, S., L. Ottaviano, and S. Occhinegro. "Optical character recognition—a survey."                     International Journal of Pattern Recognition and Artificial Intelligence 5.01n02 (1991): 1­24.

[3] Srihari, Sargur N., and Stephen W. Lam. "Character recognition." Formal Description Techniques,                       IV (FORTE'91. 1992.

[4] Smith, Ray. "An overview of the Tesseract OCR engine." Document Analysis and Recognition,                         2007. ICDAR 2007. Ninth International Conference on. Vol. 2. IEEE, 2007.