如何在给定图像上应用 Prewitt 边缘检测算法?

信息处理 边缘检测
2022-02-11 04:50:55

我试图找出以下问题的答案: 在此处输入图像描述

据我了解,我应该只将算法应用于图像的这一部分

[2,5,6]
[4,2,7]
[1,3,5]

我的问题是如何在这部分图像上分别应用 x 和 y 的两个渐变?先感谢您!

1个回答

经过更多研究后,我能够回答我的问题。关键是滑动 3x3 内核并执行 Gx 和 Gy(x 和 y 方向的梯度)并计算输出图像值。例如,要计算输出图像左上角的值 -

[x - -]
[- - -]
[- - -]

我们必须计算两个梯度(x 和 y)->

Gx

[-1 0 1]
[-1 0 1]
[-1 0 1]

我们取原始图像的第一块(例如,将内核滑过输入图像的顶部值)

[1 2 4]
[5 2 5]
[5 4 2]

Gx = 4+5+2 - 1-5-5 = 0

Gy = 5+4+2 - 1-2-4 = 4 我们将两者的绝对值相加,所以 |4| + |0| = 4

这是输出图像的第一个最高值。

[4 - -]
[- - -]
[- - -]

我们计算其余部分的方法相同。我希望这会帮助其他面临同样问题的人。