【发布时间】:2021-10-30 17:34:20
【问题描述】:
我在 Python 中实现了抖动算法的一个版本(来自图像处理)。我使用的算法是 Floyd Steinberg 算法。
我想知道如果我在同一张图像上一遍又一遍地重新运行我的算法,图像会如何变化。我注意到它根本没有改变:
第一次迭代:
第 10 次迭代:
首先,这是正确的行为还是我的实施有问题?这是正确的,我想知道为什么在一次迭代之后,它根本不会改变图像?背后有什么数学解释吗?
【问题讨论】:
-
抖动将具有多种不同颜色的图像变成只有少数几种颜色的图像。应用算法后,您的图像只有几种颜色。如果您再次应用该算法,所有像素已经是它输出的少数颜色之一,因此没有什么可以改变的。
-
FS 是错误的“扩散”,对吧?所以它正在量化一个像素的颜色并将误差推入下一个像素......但如果它已经量化,那么推动的误差为零。 -- 另外,我认为你的 Lena 是镜像的。
标签: image-processing dithering