Найти ребра объектов на изображениях с помощью метода Собеля, Предвитта, Робертса или Канни
Computer Vision Toolbox/Анализ и совершенствование
Блок Ребро Detection находит ребра объекта в входе изображении. Блок поддерживает четыре метода: Собель, Предвитт, Робертс и Кэнни. Первые три метода находят ребра путем аппроксимации градиентной величины изображения. Блок свертывает матрицу входа с помощью ядра Собеля, Предвитта или Робертса соответственно и выводит получившиеся градиентные компоненты изображения. Кроме того, блок выводит бинарное изображение обнаружений ребра путем порога величины градиента.
Метод Канни вычисляет градиент входа изображения с помощью производной Гауссова фильтра. Затем он находит ребра, ища локальные максимумы градиента. Этот метод использует два порога, чтобы обнаружить сильные и слабые ребра. Слабые ребра являются частью выхода, только если они соединены с сильными ребрами. Блок выводит бинарное изображение обнаружений ребра для этого метода.
I
- Входное изображениеВходное изображение, заданное как матрица значений интенсивности.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Примечание
Метод Canny не поддерживает 8-битные, 16-битные или 32-битные целые числа с фиксированной точкой со знаком или 8-битные, 16-битные или 32-битные беззнаковые целые числа.
Th
- ПорогЗадайте порог в виде скаляра или двухэлементного вектора, чтобы обнаружить ребра от градиента. Тип данных этого значения должен совпадать с типом данных входного изображения. Для метода обнаружения ребра Канни порог должен быть двухэлементным вектором в области значений [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-битные беззнаковые целые числа.
Edge
- Обнаружение реберОбнаружения ребер, возвращенные как бинарное изображение. Пиксели со значением 1
представление ребра пикселей.
Этот порт всегда активируется, когда вы устанавливаете параметр Method равным Canny
. Чтобы включить этот порт для Sobel
, Prewitt
, или Roberts
методы, установите параметр Output type равным Binary image
или Binary image and gradient components
.
Типы данных: Boolean
Gv
- Градиентные отклики на вертикальные ребраМатрица градиентных характеристик на вертикальные ребра.
Чтобы включить этот порт, установите следующие параметры:
Method — Sobel
или Prewitt
Output type — Gradient components
или Binary image and gradient components
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Gh
- Градиентные отклики на горизонтальные ребраМатрица градиентных характеристик на горизонтальные ребра.
Чтобы включить этот порт, установите следующие параметры:
Method — Sobel
или Prewitt
Output type — Gradient components
или Binary image and gradient components
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
G45
- Градиентные отклики на ребра при 45 степеняхМатрица градиентных характеристик на ребра при 45 степенях.
Чтобы включить этот порт, установите следующие параметры:
Method — Roberts
Output type — Gradient components
или Binary image and gradient components
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
G135
- Градиентные отклики на ребра при 135 степеняхМатрица градиентных характеристик на ребра при 135 степенях.
Чтобы включить этот порт, установите следующие параметры:
Method — Roberts
Output type — Gradient components
или Binary image and gradient components
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Main
Method
- Метод обнаружения реберSobel
(по умолчанию) | Prewitt
| Roberts
| Canny
Укажите метод для обнаружения ребер в входе изображении. Вы можете выбрать из Sobel
, Prewitt
, Roberts
или Canny
.
Output Type
- Тип выходного изображенияBinary image
(по умолчанию) | Gradient components
| Binary image and gradient components
Укажите тип выходного изображения из одного из следующих опций:
Binary image
- Блок выводит логическую матрицу в Edge порте. Элементы матрицы помечены 1
представление ребра пикселей.
Gradient components
- Блок выводит компоненты градиента. Для Sobel
и Prewitt
методы, градиентные компоненты соответствуют горизонтальным и вертикальным ребрам характеристикам в портах Gh и Gv соответственно. Для Roberts
метод компоненты градиента соответствуют 45 степени и 135 степени ребра реакциям в портах G45 и G135 соответственно.
Binary image and gradient components
- Блок выводит как бинарное изображение, так и градиентные компоненты изображения
Чтобы включить этот параметр, установите параметр Method равным Sobel
, Prewitt
, или Roberts
.
User-defined threshold
- Пользовательский порогЗадайте требуемое пороговое значение через диалоговое окно или порт Th.
Этот параметр всегда активируется, когда вы устанавливаете параметр Method равным Canny
. Чтобы включить этот параметр для Sobel
, Prewitt
, или Roberts
методы, установите параметр Output type равным Binary image
или Binary image and gradient components
.
Threshold source
- Источник порогаInput port
(по умолчанию) | Specify via dialog
Выберите источник для ввода порогового значения из одной из следующих опций:
Input port
- Задайте пороговое значение, используя порт Th. Тип данных этого значения должен совпадать с типом данных входного изображения.
Specify via dialog
- Введите требуемое пороговое значение в диалоговом окне.
Чтобы включить этот параметр:
Установите параметр Method равным Canny
. Также установите параметр Method равным Sobel
, Prewitt
, или Roberts
, а также установите параметр Output type равным Binary image
или Binary image and gradient components
.
Выберите User-defined threshold.
Threshold
- ПорогЗадайте пороговое значение, которое находится в области значений ваших входных данных. Этот порог применяется к методам обнаружения ребер Собеля, Предвитта и Робертса.
Чтобы включить этот параметр, установите следующие параметры блоков:
Method — Sobel
, Prewitt
, или Roberts
Output type — Binary image
или Binary image and gradient components
User-defined threshold — On
.
Threshold source — Specify via dialog
Threshold, [Low High]
- Порог для обнаружения ребра КанниЗадайте порог для обнаружения ребра Канни как двухэлементный вектор в области значений [0 1]. Элементы вектора задают низкие и высокие пороговые значения для слабого и сильного ребер соответственно.
Чтобы включить этот параметр, установите следующие параметры блоков:
Method — Canny
User-defined threshold — On
.
Threshold source — Specify via dialog
Threshold scale factor:(used to automatically calculate threshold value)
- Пороговый масштабный коэффициент4
(по умолчанию) | скаляромЗадайте пороговый масштабный коэффициент, чтобы автоматически вычислить пороговое значение. Блок вычисляет автоматический порог, используя среднее значение градиентной величины квадратного изображения, и умножает значение этого параметра на автоматическое пороговое значение, чтобы определить новое пороговое значение.
Чтобы включить этот параметр, установите следующие параметры блоков:
Method — Sobel
, Prewitt
, или Roberts
Output type — Binary image
или Binary image and gradient components
User-defined threshold — Off
Edge Thinning
- утончение ребраoff
(по умолчанию) | on
Выберите этот параметр, чтобы уменьшить толщину ребер в выходных изображениях. Эта опция требует дополнительного времени вычислений и ресурсов памяти.
Совет
Этот блок наиболее эффективен с точки зрения использования памяти и времени вычислений, когда вы снимаете флажок Edge thinning и используете параметр Threshold, чтобы задать пороговое значение.
Чтобы включить этот параметр, установите следующие параметры блоков:
Method — Sobel
, Prewitt
, или Roberts
Output type — Binary image
или Binary image and gradient components
Approximate percentage of weak edge and nonedge pixels (used to automatically calculate threshold values)
- Приблизительный процент слабых краевых и нереберных пикселейЗадайте приблизительный процент слабых ребер и неребра. Блок вычисляет автоматические пороговые значения, используя это значение.
Чтобы включить этот параметр, установите следующие параметры блоков:
Method — Canny
User-defined threshold — Off
Standard deviation of Gaussian filter
- Стандартное отклонение Гауссова фильтраЗадайте стандартное отклонение Гауссова фильтра, используемого для алгоритма обнаружения ребер Канни.
Чтобы включить этот параметр, установите параметр Method равным Canny
.
Data Types
Для получения информации о параметрах блоков с фиксированной точкой смотрите Задать атрибуты с фиксированной точкой для блоков.
Типы данных |
|
Многомерные сигналы |
|
Сигналы переменного размера |
|
[1] Гонзалес, Рафаэль К. и Ричард Э. Вудс. Цифровая обработка изображений. 2nd ed. Englewood Cliffs, NJ: Prentice Hall, 2002.
[2] Pratt, William K. Digital Image Processing, 2nd ed. NY: John Wiley & Sons, 1991.
Когда вы устанавливаете флажок Normalized output, вход блока не может быть фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.