Идентифицируйте peaks в преобразовании Хафа
управляет аспектами операции, используя аргументы пары "имя-значение".peaks
= houghpeaks(H
,numpeaks
,Name,Value
)
Чтение изображения в рабочую область.
I = imread('circuit.tif');
Создайте бинарное изображение.
BW = edge(imrotate(I,50,'crop'),'canny');
Создайте преобразование Хафа изображения.
[H,T,R] = hough(BW);
Найдите peaks в преобразовании Хафа изображения и постройте их.
P = houghpeaks(H,2); imshow(H,[],'XData',T,'YData',R,'InitialMagnification','fit'); xlabel('\theta'), ylabel('\rho'); axis on, axis normal, hold on; plot(T(P(:,2)),R(P(:,1)),'s','color','white');
H
- матрица преобразования ХафаМатрица преобразования Хафа, заданная как числовой массив. Строки и столбцы соответствуют rho
и theta
значения. Используйте hough
функция для создания матрицы преобразования Хафа.
Типы данных: double
numpeaks
- Максимальное количество peaks для идентификации1
(по умолчанию) | положительное целое числоМаксимальное количество peaks для идентификации, заданное как положительное целое число.
Типы данных: double
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
P = houghpeaks(H,2,'Threshold',15);
'Threshold'
- Минимальное значение, которое должно считаться пиком0.5*max(H(:))
(по умолчанию) | неотрицательное числоМинимальное значение, которое будет считаться пиком, заданным как неотрицательное число.
Типы данных: double
'NHoodSize'
- Размер района подавленияРазмер окрестности подавления, заданный как 2-элементный вектор положительных нечетных целых чисел. Это suppression neighborhood - окрестность вокруг каждого пика, которая устанавливается в нуль после того, как пик идентифицирован. Значение по умолчанию NHoodSize
- наименьшие нечетные значения, большие или равные size(H)/50
. Размерности NHoodSize
должен быть меньше, чем размер матрицы преобразования Хафа, H
.
Типы данных: double
'Theta'
- Преобразование Хафа theta values (преобразование значений теты-90:89
(по умолчанию) | числовой векторHough преобразует значения theta, заданные как числовой вектор, возвращаемый hough
функция. Каждый элемент вектора задает theta для соответствующего столбца выходной матрицы H
. houghpeaks
использует значения theta, заданные для подавления пика. Используйте hough
функция для создания матрицы преобразования Хафа.
Примечание
Если вы задаете 'Theta'
параметр как вход в hough
функция, вы должны задать theta
параметр со houghpeaks
функция. Используйте theta
выходное значение из hough
функционирует как theta
входное значение для houghpeaks
. В противном случае пиковое подавление может привести к неожиданным результатам.
Типы данных: double
peaks
- Координаты строк и столбцов найденного peaksКоординаты строка и столбец найденного peaks, возвращенные как матрица Q -by-2. Значение, Q могут варьироваться от 0
на numpeaks
.
Указания и ограничения по применению:
houghpeaks
поддерживает генерацию Кода С (требует MATLAB® Coder™). Для получения дополнительной информации смотрите Генерация кода для обработки изображений.
Необязательные имена параметров 'Threshold'
и 'NHoodSize'
должны быть постоянными во время компиляции. Их ассоциированные значения не должны быть константами во время компиляции.
Указания и ограничения по применению:
Необязательные имена параметров 'Threshold'
и 'NHoodSize'
должны быть постоянными во время компиляции. Их ассоциированные значения не должны быть константами во время компиляции.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.