Posts Tagged ‘ QR

QR Fun

I was reading about QR codes lately.  They fascinate me somehow; just like mazes and fractals, they have this esoterical yet recognizable form, but unlike them, they can be much, much more: they store content. Finding QR encoders is easy enough (PhpQrCode works very well).  Since the specs are open (although a thorough explanation of the math behind it goes beyond my comprehension), I guess its easy to implement.  The real problem must be in the decoding procedure.  Since QR codes were meant to be decoded in warehouses using hand-held scanners, physical hurdles like dirt and image quality must be a nightmare to handle.  I found this library called ZXing that gives an impressive array of features.  Written essentially for handhelds, there’s also a C++ port.  Once compiled, the default application does the job of reading QR codes in all image formats.

Now the real fun begins:  In the xkcd book (volume 0), there are 5 QR codes located on the left side of page 100012 (you did notice that it uses a base 3 paging count, did you ?).  I scanned the page and ran it each QR code through the ZXing.  The results ?  Well, let’s just say that Randall is a fan of  Mario Cart on the Wii and he’s being the nice guy he always seems to be. 😉

My next test was really interesting: I have an ash grey T-Shirt with a QR code on the back in crimson color, measuring 3 x 3 inches.  You can guess this was going to be a little more challenging.  Since I don’t have a handheld device, I merely used the camera on my iPod nano to film it and extracted each frame with MPlayer on my PC.  The first films I took were short with awful results, so I decided to take a longer film, zooming in and out, and tilting the camera to minimize the skewing and warping of the images.  This time, I got 106 hits out of 1066 frames, a 10% hit rate which is very good considering that I was randomly moving my camera.  No doubt with a real handheld, I would have gotten more precise hits.

return top