Prewitt運算元



Prewitt運算元用於影像邊緣檢測。它檢測兩種型別的邊緣

  • 水平邊緣
  • 垂直邊緣

邊緣是透過計算影像中對應畫素強度的差異來計算的。所有用於邊緣檢測的掩模也被稱為導數掩模。因為正如我們之前在本系列教程中多次提到的,影像也是一種訊號,因此訊號的變化只能使用微分來計算。所以,這些運算元也稱為導數運算元或導數掩模。

所有導數掩模都應具有以下屬性

  • 掩模中應存在相反的符號。
  • 掩模的總和應等於零。
  • 權重越大,邊緣檢測效果越強。

Prewitt運算元為我們提供了兩個掩模,一個用於檢測水平方向的邊緣,另一個用於檢測垂直方向的邊緣。

垂直方向

-1 0 1
-1 0 1
-1 0 1

上述掩模將找到垂直方向的邊緣,這是因為垂直方向上的零列。當您將此掩模與影像進行卷積時,它將為您提供影像中的垂直邊緣。

工作原理

當我們將此掩模應用於影像時,它會突出顯示垂直邊緣。它的工作原理類似於一階導數,並計算邊緣區域中畫素強度的差異。由於中間列為零,因此它不包含影像的原始值,而是計算該邊緣周圍左右畫素值的差異。這增加了邊緣強度,並且與原始影像相比,它得到了增強。

水平方向

-1 -1 -1
0 0 0
1 1 1

上述掩模將找到水平方向的邊緣,這是因為零列位於水平方向上。當您將此掩模與影像進行卷積時,它將突出顯示影像中的水平邊緣。

工作原理

此掩模將突出顯示影像中的水平邊緣。它也基於上述掩模的原理,並計算特定邊緣的畫素強度差異。由於掩模的中間行由零組成,因此它不包含影像中邊緣的原始值,而是計算特定邊緣上下畫素強度的差異。從而增加了強度的突然變化,使邊緣更加清晰。以上兩個掩模都遵循導數掩模的原理。兩個掩模中都存在相反的符號,並且兩個掩模的總和都等於零。第三個條件不適用於此運算元,因為以上兩個掩模都是標準化的,我們無法更改其中的值。

現在是時候看看這些掩模在實際中的應用了

示例影像

下面是一個示例圖片,我們將依次應用以上兩個掩模。

Prewitt Operator

應用垂直掩模後

在上述示例影像上應用垂直掩模後,將獲得以下影像。此影像包含垂直邊緣。您可以透過將其與水平邊緣圖片進行比較來更準確地判斷它。

Prewitt Operator

應用水平掩模後

在上述示例影像上應用水平掩模後,將獲得以下影像。

Prewitt Operator

比較

您可以看到,在第一張我們應用垂直掩模的圖片中,所有垂直邊緣都比原始影像更清晰。同樣,在第二張圖片中,我們應用了水平掩模,結果所有水平邊緣都清晰可見。因此,透過這種方式,您可以看到我們可以從影像中檢測水平和垂直邊緣。

廣告

© . All rights reserved.