Playing with the idea of "different perspectives on the same story"!
A QR code that sends you to a different source based on the angle.
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
Wrote a script to interleave SVG layers, this is what the resulting print looks like before and after adding the lenticular lens
=> View attached media | View attached media
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
was very excited to see my friend
@anu1905 pop up as the first result when I googled "lenticular QR code" 😀
https://anu1905.medium.com/lenticular-crochet-1d5ec1b48d99
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont yayy love the lenticular QR code energy 💗
=> More informations about this toot | More toots from anu1905@post.lurk.org
@gvy_dvpont oh yessss! I also have "flip image stickers" on my to-do list 😍😍
=> More informations about this toot | More toots from bleeptrack@vis.social
@gvy_dvpont brilliant!
=> More informations about this toot | More toots from daniel_bohrer@chaos.social
@gvy_dvpont
That's very cool.
=> More informations about this toot | More toots from ducksauz@snug.town
@gvy_dvpont Got me thinking… can it be done without the lens? This one seems to work!
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui HOLY SHIT!! Took a min but got 2 diff ones? github and masto?
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@isziaui Are you just half-toning the bits that are different? and the orientation of the sub-dots make them look more black/white based on direction? This is like 40X cooler than what I did
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Yeah, half of each pixel comes from one code and the other from the other. I assume readers sample in the center of where they expect the pixels to be based on the alignment blocks, so the important point is that the mask is the same on each pixel, and the center of the pixel lies on the boundary of the mask. So a slight shift of the picture tends to shift all of the samples to one or the other half.
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui this is so so wild amazing work
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Lol, just a quick midnight experiment that you nerdsniped me into!
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont That's mad. My phone seems to be happier finding the Masto URL, but I did get it to find the GitHub one too.
=> More informations about this toot | More toots from Lacey@mastodon.gamedev.place
@isziaui hi, this is an extremely clever hack, thank you very much for sharing it
=> More informations about this toot | More toots from eieio@mastodon.gamedev.place
@gvy_dvpont Yep!
I got better results with the checkerboard mask than with vertical or diagonal stripes, and with highest level of error correction, but more experimentation is in order.
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont It seems there is even some variability in software decoders too!
(excellent work, both!)
=> View attached media | View attached media
=> More informations about this toot | More toots from attie@chaos.social
mastadon link seemed way more frequent on qr code scanner app, while they both seemed likely on default camera app. surely must be not a small part in software decoders too
=> More informations about this toot | More toots from stranger_frequencies@mstdn.social
@isziaui @gvy_dvpont ha, i was thinking the same thing but also reducing the number of diff bits by finding near collisions. Finding 30 bit diffs seems pretty trivial with brute forcing
=> More informations about this toot | More toots from xssfox@cloudisland.nz
@xssfox @gvy_dvpont That’s actually on my todo list for further experiments!
Nice work! My iPhone rarely recognizes this one though, and when it does it almost always gets kVXY.
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont i suspect mixing both these approaches would work really well. I was planning on doing exactly what you did however ran out if time before bed
=> More informations about this toot | More toots from xssfox@cloudisland.nz
@isziaui @gvy_dvpont here's a version with the dithering style. certainly favours one code but I was able to get it to scan both by adjusting angle
=> More informations about this toot | More toots from xssfox@cloudisland.nz
@xssfox @gvy_dvpont Yay, this one works really well, despite the uneven scaling!
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont ohhh, I wonder what went wrong with the scaling :/
=> More informations about this toot | More toots from xssfox@cloudisland.nz
@xssfox @isziaui @gvy_dvpont This one seems really hard to get scanned on my phone. Loving these projects.
=> More informations about this toot | More toots from wmd@chaos.social
@isziaui @gvy_dvpont fucking hell! That's clever!
=> More informations about this toot | More toots from Edent@mastodon.social
@isziaui
🙂
https://hackaday.com/2025/01/23/this-qr-code-leads-to-two-websites-but-how/
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Wow, this sure is making the rounds!
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont @xssfox
This was so much easier than i thought it would be.
A little Gimp goes a long way
=> More informations about this toot | More toots from TagHunt@infosec.exchange
@isziaui @gvy_dvpont This seems like the computer vision version of ambiguous optical illusions like the Necker cube, two-faces/vase, or the old woman/young woman picture like I tiled for my profile banner, which are bistable https://en.wikipedia.org/wiki/Multistable_perception
I think it'd be really interesting to look at the dynamics of a QR scanner reading this, if that's possible, and see if there's any overlap with models of bistable perception
[edit: Just read the Hackaday article, which mentions the how the angle changes the anchor point, that's a very different process than multistable perception]
=> More informations about this toot | More toots from axoaxonic@synapse.cafe
@axoaxonic The sampling point thing is just my conjecture though, I haven’t actually studied how decoders do it.
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui I haven't either. It would make sense for sure, especially if it only switches when you move the camera.
I tried running the png through the zbar-tools decoder by itself and it didn't detect a code
=> More informations about this toot | More toots from axoaxonic@synapse.cafe
@axoaxonic @isziaui
Next level would be to exploit those Moiré patterns that result when you point a CMOS sensor at a fine dither pattern
Or to somehow make use of high and low spatial frequency parts of the image so it sees a different QR code when out of focus, or in dim light so the longer shutter speed blurs your handheld image capture.
=> More informations about this toot | More toots from bornach@fosstodon.org
@isziaui Number one on HackerNews right now if that's something you care about!
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Wild! I don’t read Hacker News unless I’m pointed to it, so thanks for the notice.
If only people would care about my real projects as much as about a quick brainfart like this… Your lenticular one is much more practically useful too!
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui HA I know the feeling, but this is why you always pubish your brainfarts! You never know what's gonna inspire people, and they act as a funnel to get eyes on your other stuff
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Putting my Mastodon profile in the QR code did accidentally prove very effective in boosting my follower count! 😆
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont my experiments in multi-QR imagery were based on colours but I never considered the option of the same code being decoded different ways based on conditions at the time of decoding.
Here is the concept of 42 represented three ways in QR ("6x9" "XLII" and "Forty-two" and then each QR turned into a RGB channel and combined - my phone will identify it as a QR code without too much trouble, but always picks out the XLII version (green channel I think - I did most of this a dozen years ago so memory and notes are poor), but maybe with different image colour tweaking, the same phone could pick different QR codes in different lighting conditions (or different phones picking different codes?)
I've also done animated gifs (with many more forms of 42) and my phone will capture a frame and decode it. It's a random and I've not tested in depth to see if there is any bias to which frames it gets (or avoids)
=> View attached media | View attached media
=> More informations about this toot | More toots from nemothorx@teh.entar.net
@nemothorx @gvy_dvpont Cool!
I’ve thought about doing a red/cyan one to scan through anaglyph 3D glasses.
My iPhone doesn’t recognize your colored one at all. Something is weird about it though, shouldn’t the bottom right alignment dot be the same in all channels?
=> More informations about this toot | More toots from isziaui@mstdn.social
@isziaui @gvy_dvpont it's ver1 QR - only 21x21. There is no bottom-right alignment section. The green channel code I used can be generated with qrencode -l H -v 1 XLII -o XLII.png
qrencode from https://fukuchi.org/works/qrencode/index.html.en (via debian package for me)
My scanning is on an iPhone 14 pro - it usually finds it within a few seconds, but sometimes takes several, and occasionally just never finds it till I change something (relative size, monitor brightness, angle, etc)
=> More informations about this toot | More toots from nemothorx@teh.entar.net
@nemothorx Ah, now I understand – there’s a fourth code in the alpha channel! It works once I ignore that.
=> More informations about this toot | More toots from isziaui@mstdn.social
Interactive version whose author doesn’t seem to be on fedi:
https://dualqrcode.com
https://github.com/zacharyreese/DualQRCode
The diagonal split is actually what I tried first (it looks nicer), but I found the checkerboard to work better for some reason.
=> More informations about this toot | More toots from isziaui@mstdn.social
@gvy_dvpont Snap - but without a QR code!
=> More informations about this toot | More toots from marquisdegeek@ohai.social
@gvy_dvpont how did you build that? I always wanted to make my own "wiggle"images. its so cool!
=> More informations about this toot | More toots from clx@chaos.social
@clx It's honestly pretty easy (though hard to get perfect). I've been sending folks to this tutorial as a starting point. You really just need a decent printer and some lenticular lens sheets
https://www.youtube.com/watch?v=phl5tvTdB6k
=> More informations about this toot | More toots from gvy_dvpont@mastodon.social
@gvy_dvpont Obvious with hindsight, but sneaky.
=> More informations about this toot | More toots from realcainmosni@mastodon.me.uk
@gvy_dvpont covering all political spectrum of opinions: left, centrist, right.
=> More informations about this toot | More toots from pointlessone@status.pointless.one
@gvy_dvpont amazing
=> More informations about this toot | More toots from llo@mastodon.tedomum.net This content has been proxied by September (ba2dc).Proxy Information
text/gemini