Edge Detection

Найти ребра объектов на изображениях с помощью метода Собеля, Предвитта, Робертса или Канни

  • Библиотека:
  • Computer Vision Toolbox/Анализ и совершенствование

  • Edge Detection block

Описание

Блок Ребро Detection находит ребра объекта в входе изображении. Блок поддерживает четыре метода: Собель, Предвитт, Робертс и Кэнни. Первые три метода находят ребра путем аппроксимации градиентной величины изображения. Блок свертывает матрицу входа с помощью ядра Собеля, Предвитта или Робертса соответственно и выводит получившиеся градиентные компоненты изображения. Кроме того, блок выводит бинарное изображение обнаружений ребра путем порога величины градиента.

Метод Канни вычисляет градиент входа изображения с помощью производной Гауссова фильтра. Затем он находит ребра, ища локальные максимумы градиента. Этот метод использует два порога, чтобы обнаружить сильные и слабые ребра. Слабые ребра являются частью выхода, только если они соединены с сильными ребрами. Блок выводит бинарное изображение обнаружений ребра для этого метода.

Порты

Вход

расширить все

Входное изображение, заданное как матрица значений интенсивности.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Примечание

Метод Canny не поддерживает 8-битные, 16-битные или 32-битные целые числа с фиксированной точкой со знаком или 8-битные, 16-битные или 32-битные беззнаковые целые числа.

Задайте порог в виде скаляра или двухэлементного вектора, чтобы обнаружить ребра от градиента. Тип данных этого значения должен совпадать с типом данных входного изображения. Для метода обнаружения ребра Канни порог должен быть двухэлементным вектором в области значений [0 1]. Для других методов порог является скаляром.

Зависимости

Чтобы включить этот порт:

  • Установите параметр Method равным Canny. Кроме того, установите параметр Method равным Sobel, Prewitt, или Roberts, а также установите параметр Output type равным Binary image или Binary image and gradient components.

  • Выберите User-defined threshold.

  • Установите параметр Threshold source равным Input port.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Примечание

Метод Canny не поддерживает 8-битные, 16-битные или 32-битные целые числа с фиксированной точкой со знаком или 8-битные, 16-битные или 32-битные беззнаковые целые числа.

Выход

расширить все

Обнаружения ребер, возвращенные как бинарное изображение. Пиксели со значением 1 представление ребра пикселей.

Зависимости

Этот порт всегда активируется, когда вы устанавливаете параметр Method равным Canny. Чтобы включить этот порт для Sobel, Prewitt, или Roberts методы, установите параметр Output type равным Binary image или Binary image and gradient components.

Типы данных: Boolean

Матрица градиентных характеристик на вертикальные ребра.

Зависимости

Чтобы включить этот порт, установите следующие параметры:

  • MethodSobel или Prewitt

  • Output typeGradient components или Binary image and gradient components

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Матрица градиентных характеристик на горизонтальные ребра.

Зависимости

Чтобы включить этот порт, установите следующие параметры:

  • MethodSobel или Prewitt

  • Output typeGradient components или Binary image and gradient components

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Матрица градиентных характеристик на ребра при 45 степенях.

Зависимости

Чтобы включить этот порт, установите следующие параметры:

  • MethodRoberts

  • Output typeGradient components или Binary image and gradient components

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Матрица градиентных характеристик на ребра при 135 степенях.

Зависимости

Чтобы включить этот порт, установите следующие параметры:

  • MethodRoberts

  • Output typeGradient components или Binary image and gradient components

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point

Параметры

расширить все

Main

Укажите метод для обнаружения ребер в входе изображении. Вы можете выбрать из Sobel, Prewitt, Roberts или Canny.

Укажите тип выходного изображения из одного из следующих опций:

  • Binary image - Блок выводит логическую матрицу в Edge порте. Элементы матрицы помечены 1 представление ребра пикселей.

  • Gradient components - Блок выводит компоненты градиента. Для Sobel и Prewitt методы, градиентные компоненты соответствуют горизонтальным и вертикальным ребрам характеристикам в портах Gh и Gv соответственно. Для Roberts метод компоненты градиента соответствуют 45 степени и 135 степени ребра реакциям в портах G45 и G135 соответственно.

  • Binary image and gradient components - Блок выводит как бинарное изображение, так и градиентные компоненты изображения

Зависимости

Чтобы включить этот параметр, установите параметр Method равным Sobel, Prewitt, или Roberts.

Задайте требуемое пороговое значение через диалоговое окно или порт Th.

Зависимости

Этот параметр всегда активируется, когда вы устанавливаете параметр Method равным Canny. Чтобы включить этот параметр для Sobel, Prewitt, или Roberts методы, установите параметр Output type равным Binary image или Binary image and gradient components.

Выберите источник для ввода порогового значения из одной из следующих опций:

  • Input port - Задайте пороговое значение, используя порт Th. Тип данных этого значения должен совпадать с типом данных входного изображения.

  • Specify via dialog - Введите требуемое пороговое значение в диалоговом окне.

Зависимости

Чтобы включить этот параметр:

  • Установите параметр Method равным Canny. Также установите параметр Method равным Sobel, Prewitt, или Roberts, а также установите параметр Output type равным Binary image или Binary image and gradient components.

  • Выберите User-defined threshold.

Задайте пороговое значение, которое находится в области значений ваших входных данных. Этот порог применяется к методам обнаружения ребер Собеля, Предвитта и Робертса.

Зависимости

Чтобы включить этот параметр, установите следующие параметры блоков:

  • MethodSobel, Prewitt, или Roberts

  • Output typeBinary image или Binary image and gradient components

  • User-defined thresholdOn.

  • Threshold sourceSpecify via dialog

Задайте порог для обнаружения ребра Канни как двухэлементный вектор в области значений [0 1]. Элементы вектора задают низкие и высокие пороговые значения для слабого и сильного ребер соответственно.

Зависимости

Чтобы включить этот параметр, установите следующие параметры блоков:

  • MethodCanny

  • User-defined thresholdOn.

  • Threshold sourceSpecify via dialog

Задайте пороговый масштабный коэффициент, чтобы автоматически вычислить пороговое значение. Блок вычисляет автоматический порог, используя среднее значение градиентной величины квадратного изображения, и умножает значение этого параметра на автоматическое пороговое значение, чтобы определить новое пороговое значение.

Зависимости

Чтобы включить этот параметр, установите следующие параметры блоков:

  • MethodSobel, Prewitt, или Roberts

  • Output typeBinary image или Binary image and gradient components

  • User-defined thresholdOff

Выберите этот параметр, чтобы уменьшить толщину ребер в выходных изображениях. Эта опция требует дополнительного времени вычислений и ресурсов памяти.

Совет

Этот блок наиболее эффективен с точки зрения использования памяти и времени вычислений, когда вы снимаете флажок Edge thinning и используете параметр Threshold, чтобы задать пороговое значение.

Зависимости

Чтобы включить этот параметр, установите следующие параметры блоков:

  • MethodSobel, Prewitt, или Roberts

  • Output typeBinary image или Binary image and gradient components

Задайте приблизительный процент слабых ребер и неребра. Блок вычисляет автоматические пороговые значения, используя это значение.

Зависимости

Чтобы включить этот параметр, установите следующие параметры блоков:

  • MethodCanny

  • User-defined thresholdOff

Задайте стандартное отклонение Гауссова фильтра, используемого для алгоритма обнаружения ребер Канни.

Зависимости

Чтобы включить этот параметр, установите параметр Method равным Canny.

Data Types

Для получения информации о параметрах блоков с фиксированной точкой смотрите Задать атрибуты с фиксированной точкой для блоков.

Характеристики блоков

Типы данных

double | fixed point | integer | single

Многомерные сигналы

no

Сигналы переменного размера

yes

Ссылки

[1] Гонзалес, Рафаэль К. и Ричард Э. Вудс. Цифровая обработка изображений. 2nd ed. Englewood Cliffs, NJ: Prentice Hall, 2002.

[2] Pratt, William K. Digital Image Processing, 2nd ed. NY: John Wiley & Sons, 1991.

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ Simulink ®

.

См. также

|

Представлено до R2006a