We’ve all seen fancy QR codes with images. Usually, they have a small logo or something in the center. They are very easy to make, and to be honest not very impressive. Just generate your QR and put some image on top, that’s all. That works because all QRs have some amount of data reserved for error correction. You can flip some bits, obscure parts of the code, or use a noisy camera and it would still be readable.