0

我正在尝试找到一种算法,该算法可以使用来自可使用的预定义形状集中的适当数量的数学形状(在我的情况下为 3 个不同大小的圆圈)来近似灰度图像。

我考虑过基于误差扩散的算法,例如 Floyd-Steinberg 算法,但我看不到将基于像素的误差扩散转换为数学形状的方法。

有人有什么建议吗?

编辑:这是一个使用正方形而不是圆形的 正方形而不是圆形的示例 示例 另一个在网格上使用统一大小的圆形的示例。这是通过用圆形替换抖动的正方形来产生的,但是由于与最初的近似图像有偏差,结果很差。这里的圆圈分布在一个网格中,这不是我要找的: 在此处输入图像描述

4

1 回答 1

1

暗示:

Floyd-Steinberg 的原理是估计原始图像和二进制图像之间的局部误差。由于每个像素都被一个错误的值替换,该错误被记住并用作评估下一个像素的补偿。

由于音高可变,您的情况更加困难,需要一些避免碰撞的策略。误差扩散的概括是用所需形状以半规则方式填充图像并估计平均灰度等效值。然后当差异变得足够大时,在下一个空槽中放置一个形状。

说起来容易做起来难。

于 2020-01-17T08:01:49.710 回答