I’m inordinately pleased with thisThat’s me, in case you can’t tell.
It turns out that getting an arbitrary image into a QR code is annoyingly difficult. Or at least it took me quite a while to do it—partially due to inertia, as it required the concentrated boredom of a trip home for the holidays to get me focused enough to crack it. In the end, the code is fairly simple.
In short, I had to reverse-engineer a QR code library, figure out where the data was stored, put in the data I wanted, and then calculate the corresponding error correction code so that the thing would scan properly.
The whole thing fits in a GitHub Gist, if you don’t include the required python-qrcode library. The workflow is fairly simple: