exponenta event banner

Обнаружение краев

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

  • Библиотека:
  • Инструментарий для компьютерного зрения/Анализ и усовершенствование

  • Edge Detection block

Описание

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

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

Порты

Вход

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

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

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

Примечание

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

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

Зависимости

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

  • Задайте для параметра Method значение Canny. Либо задайте для параметра Метод значение Sobel, Prewitt, или Roberts, а также задайте для параметра Output type значение Binary image или Binary image and gradient components.

  • Выберите определяемое пользователем пороговое значение.

  • Задайте для параметра 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

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

Зависимости

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

  • Метод - Sobel или Prewitt

  • Тип вывода - Gradient components или Binary image and gradient components

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

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

Зависимости

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

  • Метод - Sobel или Prewitt

  • Тип вывода - Gradient components или Binary image and gradient components

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

Матрица градиентных откликов на ребра под углом 45 градусов.

Зависимости

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

  • Метод - Roberts

  • Тип вывода - Gradient components или Binary image and gradient components

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

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

Зависимости

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

  • Метод - Roberts

  • Тип вывода - Gradient components или Binary image and gradient components

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

Параметры

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

Главный

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

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

  • Binary image - Блок выводит логическую матрицу в пограничном порту. Элементы матрицы с меткой 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. Либо задайте для параметра Метод значение Sobel, Prewitt, или Roberts, а также задайте для параметра Output type значение Binary image или Binary image and gradient components.

  • Выберите определяемое пользователем пороговое значение.

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

Зависимости

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

  • Метод - Sobel, Prewitt, или Roberts

  • Тип вывода - Binary image или Binary image and gradient components

  • Определяемое пользователем пороговое значение - On.

  • Пороговый источник - Specify via dialog

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

Зависимости

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

  • Метод - Canny

  • Определяемое пользователем пороговое значение - On.

  • Пороговый источник - Specify via dialog

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

Зависимости

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

  • Метод - Sobel, Prewitt, или Roberts

  • Тип вывода - Binary image или Binary image and gradient components

  • Определяемое пользователем пороговое значение - Off

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

Совет

Этот блок наиболее эффективен с точки зрения использования памяти и времени обработки при снятии флажка Истончение кромки (Edge thinning) и использовании параметра Пороговое значение (Threshold) для задания порогового значения.

Зависимости

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

  • Метод - Sobel, Prewitt, или Roberts

  • Тип вывода - Binary image или Binary image and gradient components

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

Зависимости

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

  • Метод - Canny

  • Определяемое пользователем пороговое значение - Off

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

Зависимости

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

Типы данных

Сведения о параметрах блока с фиксированной точкой см. в разделе Задание атрибутов блока с фиксированной точкой.

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

Типы данных

double | fixed point | integer | single

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

no

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

yes

Ссылки

[1] Гонзалес, Рафаэль К. и Ричард Э. Вудс. Обработка цифрового изображения. 2-й ред. Энглвуд Клиффс, Нью-Джерси: Прентис Холл, 2002.

[2] Пратт, William K. Digital Image Processing, 2nd ed. NY: John Wiley & Sons, 1991.

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

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.

См. также

|

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