Найдите ребра объектов в использовании изображений Sobel, Prewitt, Робертсом или методом Кэнни
Analysis & Enhancement
visionanalysis
Если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
, блок Edge Detection находит ребра во входном изображении путем приближения величины градиента изображения. Блок применяет операцию свертки к входной матрице с Sobel, Прюиттом или ядром Робертса. Выходные параметры блока два компонента градиента изображения, которые являются результатом этой операции свертки. Также блок может выполнить операцию пороговой обработки на величинах градиента и вывести двухуровневое изображение, которое является матрицей булевых значений. Если пиксельное значение равняется 1, это - ребро.
Если для параметра Method вы выбираете Canny
, блок Edge Detection находит ребра путем поиска локальных максимумов градиента входного изображения. Это вычисляет градиент с помощью производной Гауссова фильтра. Осторожный метод использует два порога, чтобы обнаружить сильные и слабые ребра. Это включает слабые ребра в вывод, только если они соединяются с сильными ребрами. В результате метод более устойчив к шуму, и более вероятно обнаружить истинные слабые ребра.
Порт | Ввод/вывод | Поддерживаемые типы данных | Поддерживаемые комплексные числа |
---|---|---|---|
I | Матрица значений интенсивности |
| Нет |
Th | Матрица значений интенсивности | То же самое, когда я портирую | Нет |
Ребро | Матрица, которая представляет двухуровневое изображение | Булевская переменная | Нет |
GV | Матрица ответов градиента на вертикальные ребра | То же самое, когда я портирую | Нет |
Gh | Матрица ответов градиента на горизонтальные ребра | То же самое, когда я портирую | Нет |
G45 | Матрица ответов градиента на ребра в 45 градусах | То же самое, когда я портирую | Нет |
G135 | Матрица ответов градиента на ребра в 135 градусах | То же самое, когда я портирую | Нет |
Вывод GV, Gh, G45 и портов G135 является совпадающим типом данных, когда вход ко мне портирует. Вход к порту Th должен быть совпадающим типом данных, когда вход ко мне портирует.
Используйте параметр Method, чтобы задать который алгоритм использовать, чтобы найти ребра. Можно выбрать Sobel
, Prewitt
, Roberts
или Canny
, чтобы найти ребра с помощью Sobel, Prewitt, Робертса или метода Кэнни.
Используйте параметр Output type, чтобы выбрать формат вывода. Если вы выбираете Binary image
, блок выводит Булеву матрицу в Граничном порту. Ненулевые элементы этой матрицы соответствуют краевым пикселям, и нулевые элементы соответствуют фоновым пикселям. Если вы выбираете Gradient components
и для параметра Method, вы выбираете Sobel
или Prewitt
, блок выводит компоненты градиента, которые соответствуют горизонтальным и вертикальным ответам ребра в портах Gh и Gv, соответственно. Если вы выбираете Gradient components
и для параметра Method, вы выбираете Roberts
, блок выводит компоненты градиента, которые соответствуют 45 и 135 ответам ребра степени в портах G45 и G135, соответственно. Если вы выбираете Binary image and gradient components
, блок выходные параметры и двухуровневое изображение и компоненты градиента изображения.
Установите флажок User-defined threshold, чтобы задать пороговые значения или значения. Если вы снимаете этот флажок, блок вычисляет порог для вас.
Используйте параметр Threshold source, чтобы задать, как ввести ваше пороговое значение. Если вы выбираете Specify via dialog
, параметр Threshold появляется в диалоговом окне. Введите пороговое значение, которое является в области значений ваших входных данных. Если вы выбираете Input port
, используйте входной порт Th, чтобы задать пороговое значение. Это значение должно иметь совпадающий тип данных как входные данные. Величины градиента выше порогового значения соответствуют ребрам.
Блок Edge Detection вычисляет автоматический порог с помощью среднего значения изображения величины градиента в квадрате. Однако можно настроить этот порог с помощью параметра Threshold scale factor (used to automatically calculate threshold value). Блок умножает значение, которое вы вводите с автоматическим пороговым значением, чтобы определить новое пороговое значение.
Установите флажок Edge thinning, чтобы уменьшить толщину ребер в вашем выходном изображении. Эта опция требует дополнительного времени вычислений и ресурсов памяти.
Этот блок является самым эффективным с точки зрения использования памяти и время вычислений, когда вы снимаете флажок Edge thinning и используете параметр Threshold, чтобы задать пороговое значение.
Установите флажок User-defined threshold, чтобы задать низкие и высокие пороговые значения. Если вы снимаете этот флажок, блок вычисляет пороговые значения для вас.
Используйте параметр Threshold source, чтобы задать, как ввести ваши пороговые значения. Если вы выбираете Specify via dialog
, параметр Threshold [low high] появляется в диалоговом окне. Введите пороговые значения. Если значение пикселя в изображении градиента, которое формируется путем свертки к входному изображению с производной Гауссова фильтра, превышает высокий порог, то пиксель соответствует сильному ребру. Любой пиксель, соединенный с сильным ребром и наличием значения, больше, чем низкий порог, соответствует слабому ребру. Если для параметра Threshold source вы выбираете Input port
, используйте входной порт Th, чтобы задать двухэлементный вектор пороговых значений. Эти значения должны иметь совпадающий тип данных как входные данные.
Блок Edge Detection вычисляет автоматические пороговые значения с помощью приближения количества пикселей изображения неребра и слабых. Введите это приближение для параметра Approximate percentage of weak edge and nonedge pixels (used to automatically calculate threshold values).
Используйте параметр Standard deviation of Gaussian filter, чтобы задать Гауссов фильтр, к производной которого применяют операцию свертки с входным изображением.
Следующая схема показывает типы данных, используемые в блоке Edge Detection для сигналов фиксированной точки.
Блок придает порогу квадратную форму и сравнивает его с суммой градиентов в квадрате, чтобы избегать использования квадратных корней.
Можно установить продукт вывод и типы данных аккумулятора в маске блока, как обсуждено в следующем разделе.
Выберите метод, которым можно выполнить обнаружение ребра. Вашим выбором является Sobel
, Prewitt
, Roberts
или Canny
.
Выберите желаемую форму вывода. Если вы выбираете Binary image
, блок выводит матрицу, которая заполнена единицами, которые соответствуют ребрам и нулям, которые соответствуют фону. Если вы выбираете Gradient components
и для параметра Method, вы выбираете Sobel
или Prewitt
, блок выводит компоненты градиента, которые соответствуют горизонтальным и вертикальным ответам ребра. Если вы выбираете Gradient components
и для параметра Method, вы выбираете Roberts
, блок выводит компоненты градиента, которые соответствуют 45 и 135 ответам ребра степени. Если вы выбираете Binary image and gradient components
, блок выходные параметры и двухуровневое изображение и компоненты градиента изображения. Этот параметр видим, если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
.
Если вы устанавливаете этот флажок, можно ввести желаемое пороговое значение. Если вы снимаете этот флажок, блок вычисляет порог для вас. Этот параметр видим, если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
, и, для параметра Output type, вы выбираете Binary image
или Binary image and gradient components
. Этот параметр также видим, если для параметра Method вы выбираете Canny
.
Если вы выбираете Specify via dialog
, введите свое пороговое значение в диалоговое окно. Если вы выбираете Input port
, используйте входной порт Th, чтобы задать пороговое значение, которое является совпадающим типом данных как входными данными. Этот параметр видим, если вы устанавливаете флажок User-defined threshold.
Введите пороговое значение, которое является в области значений ваших входных данных. Этот параметр видим, если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
, вы устанавливаете флажок User-defined threshold, и, для параметра Threshold source, вы выбираете Specify via dialog
..
Введите низкие и высокие пороговые значения, которые задают слабые и сильные ребра. Этот параметр видим, если для параметра Method вы выбираете Canny
. Затем вы устанавливаете флажок User-defined threshold, и, для параметра Threshold source, вы выбираете Specify via dialog
. Настраиваемый.
Введите множитель, который используется, чтобы настроить вычисление автоматического порога. Этот параметр видим, если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
, и вы снимаете флажок User-defined threshold. Настраиваемый.
Установите этот флажок, если вы хотите, чтобы блок выполнил утончение ребра. Эта опция требует дополнительного времени вычислений и ресурсов памяти. Этот параметр видим, если для параметра Method вы выбираете Sobel
, Prewitt
или Roberts
, и для параметра Output type, вы выбираете Binary image
или Binary image and gradient components
.
Введите аппроксимированный процент слабого ребра и пикселей изображения неребра. Блок вычисляет автоматические пороговые значения с помощью этого приближения. Этот параметр видим, если для параметра Method вы выбираете Canny
. Настраиваемый.
Введите стандартное отклонение Гауссова фильтра, к производной которого применяют операцию свертки с входным изображением. Этот параметр видим, если для параметра Method вы выбираете Canny
.
Выберите округляющийся режим для операций фиксированной точки.
Выберите режим переполнения для операций фиксированной точки.
Здесь, внутренними коэффициентами является Sobel, Прюитт или маски Робертса. Как изображено в предыдущей фигуре, вывод множителя помещается в тип выходных данных продукта и масштабирование. Используйте этот параметр, чтобы задать, как назвать этот продукт выходным словом и дробными длинами.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину продукта вывод в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне продукта вывод. Смещение всех сигналов в блоках Computer Vision Toolbox™ 0.
Как изображено в предыдущей фигуре, входные параметры к аккумулятору брошены к типу данных аккумулятора. Вывод сумматора остается в типе данных аккумулятора, когда каждый элемент входа добавляется к нему. Используйте этот параметр, чтобы задать, как определять это слово аккумулятора и дробные длины.
Когда вы выбираете Same as product output
, эти характеристики совпадают с теми из продукта вывод.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробную длину аккумулятора в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне аккумулятора. Смещение всех сигналов в блоках Computer Vision Toolbox 0.
Выберите, как задать размер слова и дробная продолжительность выходных параметров портов Gv и Gh. Этот параметр видим, если для параметра Output type вы выбираете Gradient components
или Binary image and gradient components
:
Когда вы выбираете Same as accumulator
, эти характеристики совпадают с теми из аккумулятора.
Когда вы выбираете Same as product output
, эти характеристики совпадают с теми из продукта вывод.
Когда вы выбираете Same as first input
, эти характеристики совпадают с теми из первого входа к блоку.
Когда вы выбираете Binary point scaling
, можно ввести размер слова и дробная продолжительность вывода в битах.
Когда вы выбираете Slope and bias scaling
, можно ввести размер слова в битах и наклоне вывода. Смещение всех сигналов в блоках Computer Vision Toolbox 0.
Выберите этот параметр, чтобы препятствовать тому, чтобы Fixed-Point Tool заменили типы данных, которые вы задаете на маске блока. Для получения дополнительной информации смотрите fxptdlg
, страницу с описанием на Fixed-Point Tool в документации Simulink®.
[1] Гонсалес, Рафаэль К. и Ричард Э. Вудс. Цифровая обработка изображений. 2-й редактор Englewood Cliffs, NJ: Prentice Hall, 2002.
[2] Пратт, Цифровая обработка изображений Уильяма К., 2-й редактор Нью-Йорк: John Wiley & Sons, 1991.
Image Processing Toolbox™ |