Merges a QR code with a background image. Only modifies the source image where necessary.
Makes this:
Decodes with any QR scanner. Just try.
Make your own here.
Drop a picture to set a new background. If you want to keep the merged image, just save it from your browser (this seems to work only in Firefox, unfortunately).
Generation of the QR code is done with qrcode-generator.
QR code detection (for verifying) is done with jsqrcode.
qrim.js is public domain. Sample images are from my photo stream.