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

Dithered QR Codes

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

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

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

同日更多故事

2026-08-09