漫水填充演算法和邊界填充演算法的區別


在這篇文章中,我們將瞭解漫水填充演算法和邊界填充演算法之間的區別。它們都是區域填充演算法,區別在於隨機畫素是否具有區域的原始顏色。

漫水填充演算法

  • 它也稱為種子填充演算法。
  • 它計算與多維陣列中給定節點相連的區域。
  • 它的工作原理是填充或重新著色包含內部不同顏色以及影像邊界的特定區域。
  • 它由具有邊界的鄰域和不同顏色區域的圖片表示。
  • 可以替換特定的內部顏色,以便繪製這些部分。
  • 記憶體消耗量高。
  • 它是一個相對簡單的演算法。
  • 它能夠處理包含多個邊界顏色的影像。
  • 與邊界填充演算法相比,它相對較慢。
  • 可以使用隨機顏色來繪製內部部分,並將舊畫素替換為新畫素。
  • 這是一個高效的演算法。

可以使用兩種方法透過連線畫素來建立多個邊界。

  • 4連通方式:在這種方法中,畫素最多可以有四個鄰居。這些將位於當前畫素的左側、右側、上方和下方。
  • 8連通方式:在這種方法中,畫素最多可以有8個鄰居。將針對四個對角畫素檢查相鄰位置。

邊界填充演算法

  • 當邊界包含單一顏色時,演算法會向外逐畫素繼續,直到找到邊界顏色。
  • 它在互動式繪圖軟體包中實現,其中可以輕鬆選擇內部點。
  • 該演算法首先接受內部點 (x, y) 的座標、邊界顏色和填充顏色作為輸入。
  • 從點 (x, y) 開始,演算法檢查其相鄰位置以確定它們是否是邊界顏色的一部分。
  • 如果它們不是邊界顏色,則將其用填充顏色繪製,並針對相同的條件測試相鄰畫素。
  • 當檢查到邊界顏色為止的所有畫素時,此過程結束。
  • 該區域由單一顏色定義。
  • 記憶體消耗量低。
  • 與漫水填充演算法相比,它速度很快。
  • 與漫水填充演算法相比,它比較複雜。
  • 它可以處理包含單一邊界顏色的影像。

更新於:2021年3月2日

2K+ 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告