Digital Image Processing-Project Report
An algorithm to detect and decode visual code markers in medium resolution images is presented. The algorithm uses adaptive methods to segment the image to identify objects. The objects are then used to form candidate markers which are examined for several criteria. Potential markers are then sampled and guide information present in the marker is used to verify the data. The algorithm is invariant to scale and rotation and is robust to motion blur and varying illumination. The algorithm is implemented in C and takes approximately 100 ms to execute per image using a Pentium 4 3.40 GHz computer.
The presence of cameras in cell phones is becoming extremely commonplace as the price of inclusion plummets. As more and more people are equipped with these cameras it becomes feasible to develope a range of applications that utilize the camera for purposes other than simply taking a snapshot. One such application is to use the camera to sample the data contained in a visual code marker and to use this as a code to reference information. A typical use case might be to include a visual code marker next to the advertisment for a movie. By taking an image of the marker the phone can decode the data and then query a backend database for the local screening times of the movie. To achieve this type of application the camera must be able to reliably identify and decode visual markers. This report details the development and implementation of an algorithm that can be used for this purpose. The report ﬁrst analyses the problem and establishes the requirements for the algorithm. It then examines the major steps of the algorithm and how it meets the requirements. The results of testing the algorithm are discussed before the report concludes with a summary. II. ALGORITHM DESIGN Before the design of the algorithm was started the problem was analysed to develop some ideas about how the visual code markers could be effectively detected and the issues that would need to be solved. Once a basic high level method was established the lower level stages of the proposed algorithm were designed and tested. The follow sections detail how the problem was analysed and the resulting algorithm. A. Problem Analysis Figure 1 shows the format of the visual code marker. The marker is composed of an 1111 grid of binary elements. The binary elements are represented by a black square for a ‘1’ and a white square for ‘0’.