📜  Prewitt操作员

📅  最后修改于: 2021-01-08 05:29:24             🧑  作者: Mango


Prewitt运算符用于图像中的边缘检测。它检测两种类型的边缘

  • 水平边缘
  • 垂直边缘

通过使用图像的相应像素强度之间的差异来计算边缘。所有用于边缘检测的蒙版也称为导数蒙版。因为正如我们在本系列教程中多次提到的那样,图像也是信号,所以只能使用微分来计算信号的变化。这就是为什么这些运算符也称为导数运算符或导数掩码的原因。

所有派生蒙版都应具有以下属性:

  • 面罩中应有相反的符号。
  • 掩码的总和应等于零。
  • 重量越大,边缘检测就越多。

Prewitt运算符为我们提供了两个遮罩,一个用于检测水平方向的边缘,另一个用于检测垂直方向的边缘。

垂直方向

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

遮罩上方会在垂直方向上找到边缘,这是因为在垂直方向上的零列。当您将此蒙版卷积在图像上时,它将为您提供图像的垂直边缘。

怎么运行的

当我们在图像上应用此蒙版时,它会突出垂直边缘。它就像一阶导数一样简单地工作,并计算边缘区域中像素强度的差异。由于中心列为零,因此它不包括图像的原始值,而是计算该边缘周围左右像素值的差。这增加了边缘强度,并且与原始图像相比变得增强了。

水平方向

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

遮罩上方将在水平方向上找到边缘,这是因为零列在水平方向上。当您将此遮罩卷积到图像上时,它将在图像中突出显示水平边缘。

怎么运行的

该遮罩将突出图像中的水平边缘。它也可以根据上述掩膜原理工作,并计算特定边缘的像素强度之间的差异。由于遮罩的中心行由零组成,因此它不包括图像中边缘的原始值,而是计算特定边缘的上下像素强度之差。因此,会增加强度的突然变化,并使边缘更明显。以上两个掩码都遵循派生掩码的原理。两个掩码中的符号相反,并且两个掩码的总和等于零。第三个条件不适用于此运算符,因为以上两个掩码都是标准化的,我们无法更改它们的值。

现在是时候看看这些蒙版了:

样本图片

以下是一个示例图片,我们将一次在其上应用两个蒙版。

威望运算符

涂上垂直面膜后

在上面的样本图像上应用垂直蒙版后,将获得以下图像。该图像包含垂直边缘。通过与水平边缘图片进行比较,可以更正确地判断它。

威望运算符

应用水平面膜后

在上面的样本图像上应用水平遮罩后,将获得以下图像。

威望运算符

比较方式

如您所见,在我们应用垂直遮罩的第一张图片中,所有垂直边缘都比原始图像更清晰可见。类似地,在第二张图片中,我们应用了水平蒙版,结果所有水平边缘都是可见的。因此,通过这种方式,您可以看到我们可以从图像中检测水平和垂直边缘。