Edge Detection

Найдите ребра объектов в использовании изображений Sobel, Prewitt, Робертсом или методом Кэнни

  • Библиотека:
  • Computer Vision Toolbox / Analysis & Enhancement

  • Edge Detection block

Описание

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

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

Порты

Входной параметр

развернуть все

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

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

Примечание

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

Задайте порог как скаляр или двухэлементный вектор, чтобы обнаружить ребра от градиента. Тип данных этого значения должен совпадать с входным типом данных image. Для Осторожного метода обнаружения ребра порог должен быть двухэлементным вектором в области значений [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

Примечание

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

Вывод

развернуть все

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

Зависимости

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

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

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

Зависимости

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

  • MethodSobel или Prewitt

  • 'OutputType' Gradient components или Binary image and gradient components

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

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

Зависимости

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

  • MethodSobel или Prewitt

  • 'OutputType' Gradient components или Binary image and gradient components

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

Матрица ответов градиента на ребра в 45 градусах.

Зависимости

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

  • MethodRoberts

  • 'OutputType' Gradient components или Binary image and gradient components

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

Матрица ответов градиента на ребра в 135 градусах.

Зависимости

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

  • MethodRoberts

  • 'OutputType' Gradient 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. Тип данных этого значения должен совпадать с входным типом данных image.

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

Зависимости

Включить этот параметр:

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

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

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

Зависимости

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

  • MethodSobel, Prewitt, или Roberts

  • 'OutputType' Binary 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

  • 'OutputType' Binary image или Binary image and gradient components

  • User-defined thresholdOff

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

Совет

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

Зависимости

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

  • MethodSobel, Prewitt, или Roberts

  • 'OutputType' Binary image или Binary image and gradient components

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

Зависимости

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

  • MethodCanny

  • User-defined thresholdOff

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

Зависимости

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

Data Types

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

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

Типы данных

double | fixed point | integer | single

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

no

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

yes

Ссылки

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

[2] Пратт, Цифровая обработка изображений Уильяма К., 2-й редактор Нью-Йорк: John Wiley & Sons, 1991.

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

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

Смотрите также

|

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