Main Content

# vision.Maximum

Find maximum values in input or sequence of inputs

## Description

Find maximum values in an input or sequence of inputs.

To track a set of points:

1. Create the `vision.Maximum` object and set its properties.

2. Call the object with arguments, as if it were a function.

To learn more about how System objects work, see What Are System Objects?

## Creation

### Syntax

``maxObj = vision.Maximum``
``maxObj = vision.Maximum(Name,Value)``

### Description

example

````maxObj = vision.Maximum` returns an object, `maxObj`, that computes the value and index of the maximum elements in an input or a sequence of inputs.```
````maxObj = vision.Maximum(Name,Value)` sets properties using one or more name-value pairs. Enclose each property name in quotes. For example, ```maxObj = vision.Maximum('RunningMaximum',false)``````

## Properties

expand all

Unless otherwise indicated, properties are nontunable, which means you cannot change their values after calling the object. Objects lock when you call them, and the `release` function unlocks them.

If a property is tunable, you can change its value at any time.

For more information on changing property values, see System Design in MATLAB Using System Objects.

Output maximum value, specified as `true` or `false`. Set this property to `true` to output the maximum value of the input. This property applies when you set the `RunningMaximum` property to `false`.

Calculate over single input or multiple inputs, specified as `true` or `false`. When you set this property to `true`, the object computes the maximum value over a sequence of inputs. When you set this property to `false`, the object computes the maximum value over the current input.

Output the index of the maximum value, specified as `true` or `false`. This property applies only when you set the `RunningMaximum` property to `false`.

Additional input to enable resetting of running maximum, specified as `true` or `false`. When you set this property to `true`, a reset input must be specified to reset the running maximum. This property applies only when you set the `RunningMaximum` property to `true`.

Condition that triggers resetting of running maximum, specified as as `'Rising edge'`, `'Falling edge'`, ```'Either edge'```, or `'Non-zero'`. This property applies only when you set the `ResetInputPort` property to `true`.

Numbering base for index of maximum value, specified as `'One'` or `'Zero'`. This property applies only when you set the `IndexOutputPort` property to true.

Dimension to operate along, specified as `{'All'}`, `'Row'`, `'Column'`, or `'Custom'`. This property applies only when you set the `RunningMaximum` property to `false`.

Numerical dimension to calculate over, specified as a numerical scalar. This property only applies when you set the `Dimension` property to `'Custom'`.

Enable region-of-interest processing, specified as `true` or `false`. This property applies when you set the `Dimension` property to `'All'` and the `RunningMaximum` property to `false`.

Type of ROI, specified as `'Rectangles'`, '`Lines'`, `'Label matrix'`, or ```'Binary mask'```. This property applies only when you set the `ROIProcessing` property to `true`.

ROI or perimeter calculation, specified as `'Entire ROI'` or `'ROI perimeter'`. This property applies only when you set the `ROIForm` property to `'Rectangles'`.

Calculate statistics for each ROI or one for all ROIs, specified as `'Individual statistics for each ROI'` or ```'Single statistic for all ROIs'```. This property applies only when you set the `'ROIForm'` property to `'Rectangles'`, `'Lines'`, or `'Label matrix'`.

Flag to indicate if any part of ROI is outside input image, specified as `true` or `false`.

This applies when you set the `ROIForm` property to `'Lines'` or `'Rectangles'`.

Set this property to `true` to return the validity of the specified label numbers. This applies when you set the `ROIForm` property to `'Label matrix'`.

### Fixed-Point Properties

Rounding method for fixed-point operations, specified as `'Floor'`, `'Ceiling'`, `'Convergent'`, `'Nearest'` , `'Round'` , `'Simplest'` , or `'Zero'`.

Action to take when integer input is out-of-range, specified as `'Wrap'` or `'Saturate'`.

Product data type, specified as `'Same as input'` or `'Custom'`.

Product word and fraction lengths, specified as a scaled `numerictype` (Fixed-Point Designer) object. This property applies only when you set the `AccumulatorDataType` property to `'Custom'`.

Data type of accumulator, specified as `'Same as product'`, `'Same as input'`, or `'Custom'`.

Accumulator word and fraction lengths, specified as a scaled `numerictype` (Fixed-Point Designer) object. This property applies only when you set the `AccumulatorDataType` property to `'Custom'`.

## Usage

### Syntax

``[value,index] = maxObj(input)``
``index = maxObj(input)``
``[___] = maxObj(I,ROI)``
``[___,flag] = maxObj(I,ROI)``
``[___] = maxObj(I,label,labelNumbers)``
``[___,flag] = maxObj(I,label,labelNumbers)``

### Description

example

````[value,index] = maxObj(input)` returns the maximum value and index of the input.```
````index = maxObj(input)` returns the one-based index of the maximum value when you set the `IndexOutputPort` property to `true` and the `ValueOutputPort` property to `false`. The `RunningMaximum` property must be set to `false`.```
````[___] = maxObj(I,ROI)` returns the maximum value in the input image within the given region of interest.```
````[___,flag] = maxObj(I,ROI)`additionally returns a flag to indicate whether the given ROI is within the bounds of the image.```
````[___] = maxObj(I,label,labelNumbers)` returns the maximum of the input image for a region the labels specified in the `labelNumbers` vector. The regions are defined and labeled in the `label` matrix.```
````[___,flag] = maxObj(I,label,labelNumbers)` additionally returns a flag to indicate whether the input label numbers are valid.```

### Input Arguments

expand all

Input data, specified as a vector, matrix, or multidimensional array.

Region of interest, specified as a four-element vector, [x y width height]. This option is available when you set the the `ROIProcessing` property to `true` and the `ROIForm` property to `'Lines'`, `'Rectangles'`, or `'Binary Mask'`.

Label numbers, specified as a matrix. This option is available when you set the `ROIProcessing` property to `true` and the `ROIForm` property to `'Label matrix'`.

Label numbers, specified as a vector. This option is available when you set the `ROIProcessing` property to `true` and the `ROIForm` property to `'Label matrix'`.

### Output Arguments

expand all

Maximum value, returned as the same data type as the input

Index to maximum value, returned as a one-based index.

Flag for valid data, returned as `true` or `false`.

## Object Functions

To use an object function, specify the System object™ as the first input argument. For example, to release system resources of a System object named `obj`, use this syntax:

`release(obj)`

expand all

 `step` Run System object algorithm `release` Release resources and allow changes to System object property values and input characteristics `reset` Reset internal states of System object

## Examples

collapse all

Read a color image.

`img = imread('peppers.png');`

Convert the image to grayscale.

`img = im2single(im2gray(img));`

Find the maximum.

`hMax = vision.Maximum`
```hMax = vision.Maximum with properties: ValueOutputPort: true RunningMaximum: false IndexOutputPort: true Dimension: 'All' ROIProcessing: false Show all properties ```
`[m,ind] = hMax(img);`

## Version History

Introduced in R2012a