图片 Floyd-Steinberg 抖动(Dithering)

借助 Floyd-Steinberg 抖动算法减少照片的颜色数量,同时保留层次渐变的视觉效果,该算法会将量化误差扩散到相邻像素。可调节每个通道的级别数和黑白模式。

示例:
拖放图片,或点击浏览。最大 25 MB。

工作原理

每个像素都会被量化(取整)到所选级别数中最接近的可用颜色级别。原始值与取整值之间的差异(误差)随后会按 1976 年的 Floyd-Steinberg 方法分配给尚未处理的相邻像素(右侧 7/16,下一行的 3/16、5/16 和 1/16)。这种扩散形成点状纹理,在视觉上模拟出缩减后的调色板中不存在的中间色调。

为什么每个通道只用 2 个级别会呈现「印刷机」效果?

只有 2 个级别时,每个通道只能取最小值或最大值(单个通道要么黑要么白)。为表现中间灰度而形成的点阵图案,与老式针式打印机或色深极低的显示屏的效果非常相似。

这与普通的色调分离有什么区别?

传统的色调分离会独立地对每个像素取整,不考虑其相邻像素,从而产生明显的色带。Floyd-Steinberg 抖动则会把每个像素产生的误差分配给其相邻像素,使不同颜色区域之间的过渡更柔和、不那么生硬。

误差扩散的计算直接在您的浏览器中逐像素执行:您的照片不会上传到任何服务器。