QR Codes and Optical Illusions - Why Human Eyes and Cameras See Different Things
Why Human Eyes Cannot 'Read' QR Codes
Humans can see QR code patterns but cannot decode the stored data. Our visual system recognizes characters through millennia of cultural learning, but QR code patterns invented in 1994 haven't had sufficient time for visual training. Theoretically, memorizing the full specification and performing Reed-Solomon decoding mentally is possible, but even the smallest QR code (21×21, 441 modules) makes this practically impossible.
How Cameras 'See' QR Codes
Camera recognition follows four steps: finder pattern detection, geometric correction (projective transformation for angle distortion), module sampling (grid division and brightness thresholding), and data decoding with error correction. Interestingly, both human brains and cameras correct for perspective distortion, but through entirely different mechanisms: biological neural circuits versus mathematical projective transforms.
Illusion-Based Design QR Codes
The Hermann grid illusion (gray dots appearing at white grid intersections) occurs in QR code module arrays for human viewers but not for cameras that measure precise luminance values. Color constancy differences between human vision and camera sensors theoretically enable QR codes scannable only under specific lighting conditions. These visual perception gaps enable designs that appear as art to humans but as valid codes to cameras.
Color Vision Diversity and QR Code Accessibility
About 5% of Japanese males have color vision characteristics differing from the majority. Red-green QR codes may be invisible to those with P-type or D-type color vision. Accessible QR code design requires luminance contrast independent of hue, following WCAG's 4.5:1 contrast ratio guideline. Traditional black-and-white (21:1 contrast ratio) remains the most universally accessible combination.
What QR Codes Teach Us About 'Seeing'
QR codes are everyday demonstrations of the difference between human and computer vision. Humans see 'patterns' while cameras read 'data' from identical black-and-white arrays. Human vision excels at face recognition, emotion reading, and 3D spatial understanding. Cameras excel at code decoding, fine pattern detection, and consistent luminance measurement. Both achieve 'seeing' through fundamentally different approaches.