Учебники

Prewitt Operator

Оператор 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

сравнение

Как вы можете видеть, что на первом изображении, к которому мы применяем вертикальную маску, все вертикальные края более заметны, чем исходное изображение. Аналогично на втором рисунке мы применили горизонтальную маску, и в результате все горизонтальные края видны. Таким образом, вы можете видеть, что мы можем обнаружить как горизонтальные, так и вертикальные края изображения.