vision.LocalMaximaFinder System object

Package: vision

Find local maxima in matrices


The LocalMaximaFinder object finds local maxima in matrices.

After constructing the object and optionally setting properties, use the step method to find the coordinates of the local maxima in the input image. Use the step syntax below with input matrix, I, LocalMaximaFinder object, H, and any optional properties.

IDX = step(H,I) returns [x y] coordinates of the local maxima in an M-by-2 matrix, IDX. M represents the number of local maximas found. The maximum value of M may not exceed the value set in the MaximumNumLocalMaxima property.
[...] = step(H,I,THRESH) finds the local maxima in input image I, using the threshold value THRESH, when you set the ThresholdSource property to Input port.


H = vision.LocalMaximaFinder returns a local maxima finder System object, H, that finds local maxima in input matrices.

H = vision.LocalMaximaFinder(Name,Value) returns a local maxima finder object, H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1, Value1,...,NameN,ValueN).

H = vision.LocalMaximaFinder(MAXNUM,NEIGHBORSIZE,Name,Value) returns a local maxima finder object, H, with the MaximumNumLocalMaxima property set to MAXNUM, NeighborhoodSize property set to NEIGHBORSIZE, and other specified properties set to the specified values.

Code Generation Support
Supports MATLAB® Function block: Yes
System Objects in MATLAB Code Generation.
Code Generation Support, Usage Notes, and Limitations.



Maximum number of maxima to find

Specify the maximum number of maxima to find as a positive scalar integer value. The default is 2.


Neighborhood size for zero-ing out values

Specify the size of the neighborhood around the maxima, over which the System object zeros out values, as a 2-element vector of positive odd integers. The default is [5 7].


Source of threshold

Specify how to enter the threshold value as Property, or Input port. The default is Property.


Value that all maxima should match or exceed

Specify the threshold value as a scalar of MATLAB built-in numeric data type. This property applies when you set the ThresholdSource property to Property. The default is 10. This property is tunable.


Indicator of Hough Transform matrix input

Set this property to true if the input is antisymmetric about the rho axis and the theta value ranges from π2 to π2 radians, which correspond to a Hough matrix.

When you set this property to true, the object assumes a Hough matrix input . The block applies additional processing, specific to Hough transform on the right and left boundaries of the input matrix.

The default is false.


Data type of index values

Specify the data type of index values as double, single , uint8, uint16, or uint32. The default is uint32.


cloneCreate local maxima finder object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
release Allow property value and input characteristics changes
stepFind local maxima in input image


Find a local maxima in an input.

      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; ... % local max at x=7, y=4
           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];    

      hLocalMax = vision.LocalMaximaFinder;
      hLocalMax.MaximumNumLocalMaxima = 1;
      hLocalMax.NeighborhoodSize = [3 3];
      hLocalMax.Threshold = 1;

      location = step(hLocalMax, I)


This object implements the algorithm, inputs, and outputs described on the Find Local Maxima block reference page. The object properties correspond to the block parameters.

Was this topic helpful?