Article from: chasing the footsteps of http://www.imchaser.net/ose/326.php
Recently participated in a project, which is a web-based
Service and QR code technology. This system is mainly divided into two parts: J2EE-based server end and meego-based mobile handheld end, I am working with another person in charge of meego mobile handheld development. Mobile handheld terminals are mainly divided into several modules:
1) Use opencv to capture images from the camera;
2) use the CPP source code of the zxing open-source project to implement QR code identification on meego In the QT environment;
3) Google GPS-based handheld Positioning;
4) XML-based data caching for mobile handheld terminals;
5) data interaction with the server.
I briefly summarized all the required knowledge blocks, including GUI program development under QT, meego embedded development, use of zxing open source packages, opencv, XML data storage, GPS positioning, Web Service, JSP, SQL, and so on. The development of meego mobile handheld includes the first six items. According to the function relevance, this development should first implement capturing the video image of the camera under opencv, it is stored as a PNG one-dimensional code and two-dimensional code image. Then, it uses the zxing library to identify and process the captured PNG image. Then, the processing result is displayed and stored in the handheld cache, GPS positioning is another independent function module unrelated to decoding, which can be developed separately. After the two function modules are implemented, the data on the handheld end can interact with the server, thus, the function is basically implemented. The following describes the development of handheld terminals.
There is no doubt that the first step is to build the meego development environment. The development environment I use is the development environment in windows.
Meego is based on Linux and QT In SDK 1.2 Development Environment setup, which is more suitable for Linux development, if you want to develop in Linux, you need to build a development environment in Linux.
SDK 1.2 Development Environment setup and meego in Linux
Build the SDK 1.0 development environment-use xephyr. For Linux systems, we recommend Ubuntu 10. For Ubuntu 10 system installation, see Ubuntu operating system installation analysis. Well, let's not talk about other things. After the development environment is set up, we can develop things. The first thing we need to do is to use opencv to drive and capture images, for the implementation of this function, see using opencv to capture camera images in the QT environment-meego embedded development. After implementing this function, you will get the captured barcode PNG image, then, the captured PNG barcode image is decoded and identified to obtain the barcode information. I am using the zxing open-source project to implement this decoding function, because it is developed in the QT environment, so needless to say, of course, the Symbian and CPP packages in zxing are used, why use Symbian? Hey, Symbian is a Nokia operating system developed in QT. You can refer to it for reference. The CPP package is actually used, for details about how to implement this decoding function, refer to the article "using zxing for bar code recognition in QT environment --
Meego, the QR code recognition on the meego platform has been realized here. If you want to perform subsequent development, you need to cache the data and interact with the server.
This article describes some of the projects. The main purpose of this article is to share with you the embedded software development on the meego platform, specifically, it should be the implementation of the QR code recognition function on the meego platform. Meego is an emerging platform, and there are few Software Based on meego. Although QR code recognition is nothing new, it is believed that the QR code recognition on meego is the first time, if you are familiar with QT and embedded development, it is not difficult for you. Because of the recent development of the meego embedded system, I am going to publish an ugly article here to discuss the programming path with you.