洪水填充算法:洪水填充算法也称为种子填充算法。它确定连接到多维数组中给定节点的区域。该算法通过填充或重新着色内部包含不同颜色的选定区域以及图像边界来工作。它通常由具有以各种不同颜色区域为边界的邻域的图片来说明。为了绘制这些区域,我们将替换特定的内部颜色,而不是发现边界颜色值。这是由于洪水填充算法而理解该方法的基本原理。现在,有两种方法将用于通过连接像素来创建无限边界 – 4 连接方法和 8 连接方法。在 4-connected 方法中,像素最多可以有四个邻居,分别位于当前像素的右、左、上和下。相反,在 8-connected 方法中,它可以有 8 个,并且根据四个对角像素检查相邻位置。因此,这两种方法中的任何一种通常都不会重新绘制内部点。
边界填充算法:它遵循一种方法,区域填充从位于区域内部的某个范围开始,然后向边界绘制内部。在边界包含单一颜色的情况下,填充算法在向外的方向上逐个像素地继续,直到遇到边界颜色。边界填充算法通常主要在交互式绘画包中实现,其中内部点很容易选择。边界填充的功能从接受室内点 (x, y) 的坐标开始,边界颜色和填充颜色成为输入。从 (x, y) 开始,该方法检查相邻位置以发现它们是否是边界颜色的一部分。如果它们不是来自边界颜色,则使用填充颜色绘制它们,并根据条件测试它们的相邻像素。当检查到世界边界颜色之前的所有像素时,该过程结束。Flood-fill 和 Boundary-fill 算法的区别:
洪水填充算法 | 边界填充算法 |
---|---|
洪水填充算法可以处理包含多个边界颜色的图像。 | 边界填充算法只能处理包含单一边界颜色的图像。 |
洪水填充算法比边界填充算法慢。 | 边界填充算法比洪水填充算法更快。 |
在洪水填充算法中,可以使用随机颜色来绘制内部部分,然后用新颜色替换旧颜色。 | 在边界填充算法中,内部点是通过不断搜索边界颜色来绘制的。 |
洪水填充算法需要大量的内存。 | 边界填充算法的内存消耗相对较低。 |
洪水填充算法简单而有效。 | 边界填充算法的复杂度很高。 |
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/266960.html