![]() |
We have chosen to base our Augmented Reality realization on QR codes. |
A QR code consists of 3 corners (4.1. Position in picture to the right) that allow us to find the correct orientation for the QR code. Then the QR code consists of some data with further structure, which I will ignore here. The actually data of the QR code, i.e. the text, is encoded with error correcting codes inside the QR code. We use the open source project ZXing (Zebra Crossing) to decode our QR codes. The detect-and-decode loop of ZXing first detect the corners of the QR code, then the image is rotated and stretched (if needed) and finally the contents (the text) of the QR code is decoded. |
![]() |
Reading a line of pixels from a corner of a QR code we first encounter a black dot, then a white dot, then 3 black dots, then a white dot and finally a black dot.
This pattern (1-1-3-1-1) is crucial in detecting a corner of a QR code. The pattern is used by ZXing to detect candidates for corners by counting black and white pixels. These candidates are validated by checking that the pattern is found both vertically and horizontally.
In a future blog I will write about how we have adapted the ZXing approach to suite our Scrum Board needs.