漫水填充算法和边界填充算法的区别


在这篇文章中,我们将了解漫水填充算法和边界填充算法之间的区别。它们都是区域填充算法,区别在于随机像素是否具有区域的原始颜色。

漫水填充算法

  • 它也称为种子填充算法。
  • 它计算与多维数组中给定节点相连的区域。
  • 它的工作原理是填充或重新着色包含内部不同颜色以及图像边界的特定区域。
  • 它由具有边界的邻域和不同颜色区域的图片表示。
  • 可以替换特定的内部颜色,以便绘制这些部分。
  • 内存消耗量高。
  • 它是一个相对简单的算法。
  • 它能够处理包含多个边界颜色的图像。
  • 与边界填充算法相比,它相对较慢。
  • 可以使用随机颜色来绘制内部部分,并将旧像素替换为新像素。
  • 这是一个高效的算法。

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

  • 4连通方式:在这种方法中,像素最多可以有四个邻居。这些将位于当前像素的左侧、右侧、上方和下方。
  • 8连通方式:在这种方法中,像素最多可以有8个邻居。将针对四个对角像素检查相邻位置。

边界填充算法

  • 当边界包含单一颜色时,算法会向外逐像素继续,直到找到边界颜色。
  • 它在交互式绘图软件包中实现,其中可以轻松选择内部点。
  • 该算法首先接受内部点 (x, y) 的坐标、边界颜色和填充颜色作为输入。
  • 从点 (x, y) 开始,算法检查其相邻位置以确定它们是否是边界颜色的一部分。
  • 如果它们不是边界颜色,则将其用填充颜色绘制,并针对相同的条件测试相邻像素。
  • 当检查到边界颜色为止的所有像素时,此过程结束。
  • 该区域由单一颜色定义。
  • 内存消耗量低。
  • 与漫水填充算法相比,它速度很快。
  • 与漫水填充算法相比,它比较复杂。
  • 它可以处理包含单一边界颜色的图像。

更新于:2021年3月2日

2K+ 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告