你如何称呼一个迭代的洪水填充算法?

5

我有一个算法在我的工作中使用,但我需要为它取一个名字。我想知道是否已经存在这种类型的算法的名称。

该算法接受像素化高度图和起点s,并返回修改后的像素化高度图。对于返回高度图中的每个像素p,p是从s到p必须通过的最低高度值。

例如,考虑Matlab中的“peak”图像:imagesc(peak)Peak Image from Matlab

并使用像素点(20,20)作为种子,那么我正在描述的这个修改后的高度图看起来像这样:enter image description here

我曾将其称为洪水填充算法,直到我的同事指出洪水填充通常是二进制地图。因此,我开始称其为“渐进式洪水填充”算法。

我们没有在文献中找到这个操作的定义。有什么建议吗?


你如何定义“必须通过”?在我看来,你不一定要经过任何特定的像素;你总是可以绕路走过去。 - Luis Mendo
听起来有点像图像处理中的“分水岭算法”。你是在做这个吗? - chappjc
@LuisMendo 你必须通过“高峰”。从(20,20)到(49,49)的每条路径都必须至少下降到0。同样,尽管(35,35)处的高度为2.1,但是从像素(20,20)到(35,35)的每条路径都必须下降至少0.8的水平。 - John
很像分水岭,但是分水岭(据我所知)侧重于分割。即用“区域”ID标记每个像素。我不关心分割,我想知道这些高度。 - John
3个回答

2
我曾经从事图像处理工作,但我从未遇到过这种算法。所以你可以随便取名字,比如“约翰”算法。
另外,你也可以考虑称它为“最小下降”算法(或者可能是最小下降“滤波器”),因为它有效地计算了从一个点到任何其他点所需的最小下降量。
我建议完全避免使用“填充”这个词,因为它通常用来描述用于填充区域的算法,使其呈现出均匀的颜色。

1
在Matlab中,该算法被称为形态重建。实现该算法的Matlab命令称为:imreconstruct
具体步骤如下:
tmp = peaks
apt = zeros(size(tmp));
apt(20,20) = tmp(20,20);
imagesc(imreconstruct(apt, tmp))

生成所请求的图像。

enter image description here


1
这个算法与“距离变换”相似,因为它也涉及到路径。因此,“最小下降变换”或“最小路径下降变换”可能是一个想法,因为像素值成为在前往种子点的路上需要下降到的最低值。

我们已经决定采用"灰度泛洪",但是两个答案提供的头脑风暴非常感谢! - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接