Вы находитесь на странице: 1из 5

GreenCloud

Preamble Green Cloud refers to smart phone application software running on the various platform that utilizes extra features available on Smartphone to bring an enhanced user experienced (eUX). The initial release of the apps will be deployed on the Android platform but it not limited to it, Successes on this platform will lead to extension to other Smartphone platforms e.g. Symbian, Bada, Blackberry and IOS.

Mission

Use the best of artificial intelligence algorithms and mobile phone technology to bring the best apps to Smartphones. There is need to extend and ease already existing functionalities on mobile Phones to give an enriched User Experience (UX) and to provide applications that are neglected by device manufactures. The mission for GreenCloud is to place an app on every activated Smartphone is Kenya.

Vision

Following the upsurge of Smartphone use in Kenya, an opportunity to develop user intuitive application presents itself. Kenya has been christened the Silicon Valley for mobile phones with success of MPESA and the relative high uptake of mobile phone use. The ability to regulate software piracy on mobile device in Kenya boosts the moral to venture into this market coupled with the fact of other success stories have been recorded in this sector.

The future of computing is integrated to mobile devices and its growth is aided by the Smartphone segments which replicates PC functionalities on mobile devices. Mobility and PC

functionalities provide a blend that can create a new computing segment that enjoys added integrated technologies. It is the vision for GreenCloud to nurture and prosper in this subsector and become a fully fledged mobile phone software developing entity that creates in-house applications that responds to consumer expectations, complaints and neglects by OEM (Original Equipment Manufacturer).

1.0 Overview The GreenCloud credit reloading app will have two principal components, the network module and the graphics module. The two components will work in tandem to deliver fast, efficient and reliable service to the user. 1.1 Network Module The Network module consist all telecommunications technology that delivers response to user. This include: SMS,USSD,MMI e.t.c. The N-module will also be responsible of integrating with the various network service providers and doing any necessary computation or execution related to them. This section will be referenced with a code starting with N e.g. N0x1, the code section that sends an SMS. A detail naming of the app section will be provided later in this document. Graphics Module This is base component of the app which interfaces with the camera and is the first to launch when a user taps the reload button. It is divided into two subsections, the image filter that removes background objects and Optical Character recognition (OCR) that converts the objects in digits. The success of the whole app is dependent on this module and constant refinements will be done continuously to give the best and optimal results. The section will be reference by a code beginning with G e.g. G0x1, background image filter.

1.2

2.0 Implementation This section describes the logic flow and algorithms to be used by the two core components of the app. 2.1 Background Image Filter (G0x1) This is the first code portion to run and the basic tasks would be to remove background information by replacing the color of background pixels with white. From numerous tests the green color range is known and would be exempted from conversion to white. Due to complexity in color issues this simple

algorithm will be implemented for the beta version but will constantly be upgraded to give finer results. This means that extra work will be passed to the OCR (G0x2) to determine which sequence of digits represent the recharge number. Since an image filter is sequential (pixel per pixel operation), there is a possibility of changing even the recharge digits. For this reason, the following a reverse algorithm will be implemented:

Change all pixels that are not in 0x80ff00 0x00ff53 color range to white // this would change also the digits from black to white. Then: Change the image to gray-scale, Run a rule based pixels operation { If (there is white between gray) Convert(white to black) Then Convert(gray to white) /************************************************************************ THIS WILL LEAVE AN IMAGE OF WHITE SPACE & BLACK DIGITS /*********************************************************************** Note: ========= Operation ========= Change Pixels to white Change Image to gray Rule base operation YUV to RGB JPGtoPNM ======== Name ======== toWhite() toGray() rule() yuv2rgb() jpg2pnm() ====== Code ====== G0x11 G0x12 G0x13 G0x14 G0x15

The phones camera does not store images in RGB format but YUV, therefore the camera data will have to be converted to RGB before any operation is undertaken. The OCR program that will be used does not accept images in conventional formats (JPG,TAG,BMP), therefore the resulting image will be converted to the PNM format that GOCR accepts.

2.2

Character Recognition (G0x2)

The GOCR free program will be used to do the optical character recognition for the app. It takes an image and looks for consistent black lines and matches them to a set of characters in a database. Though programmed in C, it is still possible to implement it on Android through the Android NDK that supports programming in native languages. GOCR has a set of functions that can detect rotation, angle of rotation, dirt on scanned imaged and other utilities for house keeping. The app will deploy these functions extensively and extend them where certain features are not met. The resulting product from the graphics module will be a temporary text file that will contain 12 recharge numbers. This is also the product of the OCR Engine. 2.3 Network Preparation (Nx01) The beta release of the app will only work on the Safaricom network and it is this stage of operation where the 12 digits are appened to the USSD code for reloading credit, in the case of Safaricom is *141* number #. This section can also be implemented via SMS where the 12 digit code is sent to 141. Since USSD code have a faster response it is preferred over SMS.

2.4

Network Response (Nx02) Once a network response has been obtained, it is the job of this section of the app to find the most appropriate way of displaying the information. This can be done on the preview screen or through SMS.

Improvement Ideas The ideas projected in this paper are a response to the Implementation paper.

1.1 Background Image Filter (G0x1) The processing required in this section can be greatly reduced by limiting the image scale to just fit the numbers required.

Fig 1.1 Limited image capture

The user will just place the card in a manner that the numbers will be within the bounding box. The resulting image will contain numbers, thus greatly enhancing OCR precision.

1.2 Network Preparation (Nx01) From my testing on the android SDK, USSD requests can be sent by using the call intent function but there is no class in the android package to send USSD requests. The workaround can be used to send the USSD request for the intended use.All in all, android does not support USSD, so working with it will mean working around a lot of code. I have some code I am currently testing on working around the USSD response issue.

Вам также может понравиться