洪水填充和边界填充算法之间的区别

在这篇文章中,我们将了解洪水填充算法和边界填充算法之间的区别。它们是区域填充算法,可以根据随机像素是否具有该区域的原始颜色来区分它们。

洪水填充算法

  • 它也被称为种子填充算法。

  • 它针对多维数组计算连接到给定节点的面积。

  • 它通过填充或重新着色内部包含特定颜色的特定区域并因此给图像的边界着色来起作用。

  • 它由具有邻域的图片表示,该邻域具有边界并具有不同的颜色区域。

  • 可以更换特定的内部颜色,以使这些部件疼痛。

  • 内存消耗很高。

  • 这是一个相对简单的算法。

  • 它具有处理包含多种边界色的图像的能力。

  • 与边界填充算法相比,它相对较慢。

  • 可以使用随机颜色来绘制内部零件,并且将旧像素替换为新像素。

  • 这是一种有效的算法。

通过连接像素,可以使用两种方法来创建多个边界。

  • 4种连接方式:在这种方法中,像素最多可以有四个邻居。这些将放置在当前像素的左,右,上方和下方位置。

  • 8位连接方式:在这种方法中,像素最多可以有8个邻居。对照四个对角像素检查相邻位置。

边界填充算法

  • 当边界包含单一颜色时,算法沿向外方向逐个像素继续,直到找到边界颜色为止。

  • 它在交互式绘画包中实现,可以轻松选择内部点。

  • 该算法开始于接受成为输入的内部点(x,y)的坐标,边界颜色和填充颜色。

  • 该算法从(x,y)点开始检查其相邻位置,以确定它们是否是边界色的一部分。

  • 如果不是边界色,则将其涂上填充色,并在相同条件下测试相邻像素。

  • 当检查所有达到边界颜色的像素时,此过程结束。

  • 该区域用单色定义。

  • 内存消耗较低。

  • 与泛洪算法相比,它是快速的。

  • 与泛洪算法相比,它比较复杂。

  • 它可以处理包含单一边界色的图像。