I wrote a blog post about QR codes with an overview of image techniques like this and a bunch of links to different implementations if anyone would like to see more things like this.
This is cool, but what's the use of error correction when you're deliberately introducing noise? In my experience, these art-y qr codes are more challenging to scan than traditional plain variants, especially in real life scenarios where you don't always have a perfectly clear image
The error correction is actually what enables the artistic elements - QR codes with high EC levels (H=30%) can have up to 30% of their modules modified while remaining scannable, which is exactly what these image-embedding techniques exploit.
Over on Mastodon we've just recently been having some fun with these techniques: Dithering: https://mathstodon.xyz/@andrewt/115035614385265413 Mondrian: https://mathstodon.xyz/@OscarCunningham/115049490241833844 Hand Drawn: https://mathstodon.xyz/@andrewt/115056697540191327 Bad Apple: https://pony.social/@luna/115057532794342459 White Noise: https://pony.social/@luna/115058126613306302
I've been writing about (and using) QR codes for a couple of decades. I love the innovation that happens within the bounds of the specification. One problem that I foresee with this is that they don't look like QR codes. People are now used to looking for a specific monochrome pattern to point their phone towards. There was a competitor to QR - MS Tag - which tried something similar. Their codes were able to be integ…
The innovation here mostly seems to be shrinking the QR code dots and putting them over a background image? Frankly, these look pretty terrible.
This is cool, but what's the use of error correction when you're deliberately introducing noise? In my experience, these art-y qr codes are more challenging to scan than traditional plain variants, especially in real life scenarios where you don't always have a perfectly clear image
The error correction is actually what enables the artistic elements - QR codes with high EC levels (H=30%) can have up to 30% of their modules modified while remaining scannable, which is exactly what these image-embedding techniques exploit.
The point of the error correction is to allow QR codes to work despite wear and tear - dirt, fading, poor lighting, etc. If you "use up" the margin of allowed errors just to make it pretty, it's not going to work as well in less-than-ideal circumstances.