Final Semseter B.Tech Project |
Camera equipped cell phones have become a norm in the today's market. They are now equipped cameras with high resolution capabilities. Such phones also have high processing capabilities and are loaded with fully functional operating system such as the commonly used Symbian OS and are commonly referred to as Smart Phones. In this project we have develop a system that turns such cell phones into sensors for 2-dimensional codes. The system would thus consist of mainly two parts. First the 2D code which would encode the required information and second an application running on the cell phone which would capture the picture of the 2D code and decode the 2D code and retrieve the information stored in it. The information acquired from the 2D code could then be further used out additional tasks such as triggering an event etc. like launching a website on the phone web browser, sending a text message or making a call etc. The 2D codes could be printed on paper, displayed on display screens such as televisions or even displayed on large hoardings depending on the type of application they are required for. These codes like the widely used barcodes encode in them certain bits of information. The 2D code does not contain bars but rather a grid of squared cells allowing more information to be encoded in a smaller area. There are various variations of 2D codes available, depending on the type of application they are required for (e.g. the amount of information they encode and other parameters they support). Some of the 2D codes standards presently being used are Spotcode, DataMatrix, Cybercode, Visual Code, QRCode and TRIP. In this project we firstly studied the various 2D code standards present and evaluated each against the requirements of our proposed system. We finally arrived at the conclusion of using the standard - Visual Code developed by Michael Rohs, Beat Gfeller of Institute for Pervasive Computing, Department of Computer Science, Swiss Federal Institute of Technology (ETH) Zurich. The Visual Code standard is capable of storing 83 bits of information in it. After the selection of the 2D Code standard we designed an algorithm to successfully decode the Visual Code present in an Image and retrieve the information stored in it. During the design of the algorithm problems inherent to environment in which images are shot using a camera phones such as uneven lighting conditions, tilting of image while taking the image, blurring of image were taken into consideration. Thus the image algorithm designed was successfully able to handle the above problems. This algorithm was then implemented in a Java applet program. The images taken from the camera phone were supplied and as input to the algorithm and the algorithm was tested fully to verify the correct output being produced at all times. The major part of the system compromises of the application running on the camera phone that would recognize the Visual Code from the image taken from the camera phone. The application was developed using Java 2 Micro Edition due portability of the application over a wide range of mobile devices. The algorithm implemented in a Java applet was easily ported to the mobile application as the code remained syntactically the same except for a few minor changes. The mobile application was then optimized for image normalization, recognition so it can smoothly function by using the limited computing facilities available on the phone. Finally we developed two applications that would use the system described above. In the first application we encoded 14 digit phone numbers in a Visual Code. The 1st 4 bits of the Visual Code would tell the application of the Visual code thus allowing 16 various applications to be developed. The classification code for this application is binary 0000. The next 56 bits contain the 14 digit phone number encoded in binary coded decimal format. For this purpose we created a Java applet that would take a 14 digit phone number as an input from the user and draw the corresponding Visual Code. The Mobile application developed acts as a general purpose recognizer application for all the 16 application that can be developed using this system. When a Visual Code containing a phone number is snapped using the recognizer application it is distinguished by reading the 1st four classification bits and thus the application prompts the user asking whether he wants to dial the number or not. The second application we developed allows encoding a bus number and a bus stop number in a Visual Code. For this purpose too we created a Java applet that would take the bus number and the bus stop number as an input from the user and creates the corresponding Visual Code. The classification code for this application is binary 0001. The next 40 bits are used to store the bus number and the next 36 bits for the bus stop code encoded in binary coded decimal format. The recognizer application recognizes the Visual Code containing this information and sends the bus number and bus stop number to a mobile device containing a Database of the bus route of the corresponding bus number though a text message. We then developed another mobile application using J2ME that would receive the text message containing the bus number and bus stop number, look up the database for the corresponding bus route and send it back to the recognizer application through a text message. This application has additional features to Add and View entries to the database. The recognizer application on the other hand would display the required bus route to the user. Status : Completed. |
Gnowsys |
![]() |