vision.LocalMaximaFinder

Найти локальные максимумы в матрицах

Описание

Чтобы найти локальные максимумы в матрицах.

  1. Создайте vision.LocalMaximaFinder Объекту и установите его свойства.

  2. Вызывайте объект с аргументами, как будто это функция.

Дополнительные сведения о работе системных объектов см. в разделе «Что такое системные объекты?».

Создание

Описание

пример

LMaxFinder = vision.LocalMaximaFinder возвращает локальный Системный объект maxima finder, H, который находит локальные максимумы во входных матрицах.

LMaxFinder = vision.LocalMaximaFinder(maxnum,neighborsize) возвращает локальный объект maxima finder с MaximumNumLocalMaxima значение свойства установлено в maxnum, NeighborhoodSize значение свойства установлено в neighborsize, и другие заданные свойства устанавливаются на заданные значения.

LMaxFinder = vision.LocalMaximaFinder(Name,Value) устанавливает свойства с помощью одной или нескольких пар "имя-значение". Заключайте каждое имя свойства в кавычки. Для примера, LMaxFinder = vision.LocalMaximaFinder('ThresholdSource','Property')

Свойства

расширить все

Если не указано иное, свойства являются нетронутыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируются, когда вы вызываете их, и release функция разблокирует их.

Если свойство настраивается, можно изменить его значение в любой момент.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Использование Системных объектов.

Максимальное количество найденных максимумов, заданное как положительное скалярное целое число.

Размер окрестности для значений с обнулением, заданный как двухэлементный вектор

Источник порога, заданный как 'Property' или 'Input port'.

Значение, которое должно совпадать или превышать все максимумы, заданное как скаляр MATLAB® встроенный тип числовых данных. Это свойство применяется, когда вы устанавливаете ThresholdSource свойство к 'Property'.

Настраиваемый: Да

Индикатор входа матрицы преобразования Хафа, заданный как true или false. Блок применяет дополнительную обработку, специфическую для преобразования Хафа на правых и левых контурах матрицы входа. Установите это свойство на true если вход антисимметричен относительно оси rho, и значение theta находится в областях значений от π2 кому π2 радианы, которые соответствуют матрице Хафа.

Тип данных значений индекса, заданный как double, single , uint8, uint16, или uint32.

Использование

Описание

пример

idx = LMaxFinder(I) возвращает [x y] координаты локальных максимумов в матрице M-by-2, idx. M представляет количество найденных локальных максимумов. Максимальное значение M не может превысить значение, установленное в MaximumNumLocalMaxima свойство.

idx = LMaxFinder(I,threshold) находит локальные максимумы в входе изображении I, используя пороговое значение threshold, когда вы устанавливаете ThresholdSource свойство к 'Input port'.

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

расширить все

Видеокадр, заданный как полутоновый или truecolor (RGB).

Значение, которое должно совпадать или превышать все максимумы, задается как скаляр встроенного типа числовых данных MATLAB.

Выходные аргументы

расширить все

Локальные максимумы, возвращенные как M-by-2 матрица с одной основанной [x y] координатами, где M представляет количество найденных локальных максимумов.

Функции объекта

Чтобы использовать функцию объекта, задайте Системную object™ в качестве первого входного параметра. Например, чтобы освободить системные ресурсы системного объекта с именем obj, используйте следующий синтаксис:

release(obj)

расширить все

initializeИнициализируйте видеокадр и точки для отслеживания
stepЗапуск алгоритма системного объекта
releaseОтпустите ресурсы и допустите изменения в значениях свойств системного объекта и входных характеристиках
resetСброс внутренних состояний Системного объекта

Примеры

свернуть все

Создайте пример входа.

I = [0 0 0 0 0 0 0 0 0 0 0 0; ...
     0 0 0 1 1 2 3 2 1 1 0 0; ...
     0 0 0 1 2 3 4 3 2 1 0 0; ...
     0 0 0 1 3 5 7 5 3 1 0 0; ... 
     0 0 0 1 2 3 4 3 2 1 0 0; ...
     0 0 0 1 1 2 3 2 1 1 0 0; ...
     0 0 0 0 0 0 0 0 0 0 0 0];
 

Создайте локальный объект maxima finder.

 hLocalMax = vision.LocalMaximaFinder('MaximumNumLocalMaxima',1, ...
                                      'NeighborhoodSize',[3,3], ...
                                      'Threshold',1); 

Найти локальные максимумы.

location = hLocalMax(I)                     
location = 1x2 uint32 row vector

   7   4

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

.

См. также

|

Введенный в R2012b