用 Floyd-Steinberg 算法把图片藏进 QR code

Dithered QR Codes

用 Floyd-Steinberg 算法把图片藏进 QR code

QR code 通常只是黑白方块,但通过巧妙利用数据模块,我们能把照片嵌入其中。文章介绍了如何利用 Floyd-Steinberg 误差扩散算法,在保留 QR code 可扫描性的同时,让图片呈现出细腻的灰度效果。作者演示了如何通过两次误差扩散处理,先固定数据模块颜色,再将误差扩散到周围像素,从而消除噪点,生成既美观又实用的 Dithered QR code。不过,这种美观是以牺牲部分容错率为代价的,实际应用中需权衡视觉效果与扫描可靠性。

这本质上是在美观性与可扫描性之间做权衡——别忘了,你的手机在笔记本电脑屏幕上能扫出来,不代表陌生人的低端手机在光线昏暗的打印纸上也能扫出来。
  1. 0sp

    你也可以用颜色:https://janglingpointer.github.io/Image_To_QR/

    制作这个工具的人在 reddit 上写过一篇介绍:https://www.reddit.com/r/PixelArt/comments/1v52x96/

  2. PaulHoule

    同一作者的另一篇:https://mathstodon.xyz/@andrewt/115056697540191327

  3. unkl_

    这让我想到能不能用颜色来实现,看来确实可以:https://1mentat.github.io/qr-code-shenanigans/

同日更多故事

2026-08-09