Independent thesis Basic level (degree of Bachelor), 10,5 credits / 16 HE credits
Prevas AB, a consulting company focused on industrial systems and embedded systems, are looking to expand their mobile phone competency and started two projects for this purpose. The rst is a diploma work to create a proof-of-concept barcode reader running on Symbian mobile phones, and the second is a student project for the new Innovative Programming bachelors degree to create a functioning price comparison application using IMS1 around the proof-of-concept created earlier.
Both projects achieved their stated goals. However, due to none of the projects focusing on eciency or theoretical correctness the resulting application is dicult to start, runs slowly, leaks memory and is codewise bloated. These defects prevent the application from being realistically deployable, and a third project is started to clean up the application and improve it. This report describes the solutions employed in that third project
The barcode reader in the application was split into two parts: First is the actual application written in C++ responsible for capturing images, sending them to the decoding server and displaying the result to the user. Second is the decoding server, a separate application written in java that using a TCP-socket waits for images, decodes them, and returns the result.
The primary goal of this project is to not only improve, but actually integrate the decoder into the C++ application, massively improving speed and memory usage. This report was written to highlight the lessons learned during this project, to describe the algorithms and methods used to improve the decoder and to be of use to anyone else writing time-constrained and heavily optimized barcode or pattern recognition code for Symbian devices.
2013. , 33 p.