Find minimum values in input or sequence of inputs
Statistics
visionstatistics
The 2-D Minimum block identifies the value and/or position of the smallest element in each row or column of the input, or along a specified dimension of the input. The 2-D Minimum block can also track the minimum values in a sequence of inputs over a period of time.
The 2-D Minimum block supports real and complex floating-point,
fixed-point, and Boolean inputs. Real fixed-point inputs can be either
signed or unsigned, while complex fixed-point inputs must be signed.
The output data type of the minimum values match the data type of
the input. The block outputs double
index
values, when the input is double
, and uint32
otherwise.
Port | Input/Output | Supported Data Types | Complex Values Supported |
---|---|---|---|
Input | Scalar, vector or matrix of intensity values |
| Yes |
Rst | Scalar value | Boolean | No |
Val | Minimum value output based on the Value Mode | Same as Input port | Yes |
Idx | One-based output location of the minimum value based on the Index Mode | Same as Input port | No |
Length-M 1-D vector inputs are treated as M-by-1 column vectors.
When you set the Mode parameter to Value
,
the block computes the minimum value in each row, column, entire input,
or over a specified dimension. The block outputs each element as
the minimum value in the corresponding column, row, vector, or entire
input. The output depends on the setting of the Find the
minimum value over parameter. For example, consider a 3-dimensional
input signal of size M-by-N-by-P:
Each row
— The output
at each sample time consists of an M-by-1-by-P array,
where each element contains the minimum value of each vector over
the second dimension of the input. For an M-by-N input
matrix, the block outputs an M-by-1 column vector
at each sample time.
Each column
— The
output at each sample time consists of a 1-by-N-by-P array,
where each element contains the minimum value of each vector over
the first dimension of the input. For an M-by-N input
matrix, the block outputs a 1-by-N row vector at
each sample time.
In this mode, the block treats length-M unoriented vector inputs as M-by-1 column vectors.
Entire input
— The
output at each sample time is a scalar that contains the minimum value
in the M-by-N-by-P input
matrix.
Specified dimension
— The output at each sample
time depends on Dimension.
When you set
Dimension to 1
, the block output is the
same as when you select Each column
. When you set
Dimension to 2
, the block output is the
same as when you select Each row
. When you set
Dimension to 3
, the block outputs an
M-by-N matrix containing the minimum value of
each vector over the third dimension of the input, at each sample time.
For complex inputs, the block selects the value in each row or column of the input, along vectors of a specified dimension of the input, or of the entire input that has the minimum magnitude squared as shown below. For complex value , the magnitude squared is .
When you set the Mode parameter to Index
,
the block computes the minimum value in each row or column of the
input, along vectors of a specified dimension of the input, or of
the entire input, and outputs the index array I.
Each element in I is an integer indexing the minimum
value in the corresponding column, row, vector, or entire input. The
output I depends on the setting of the Find
the minimum value over parameter. For example, consider
a 3-dimensional input signal of size M-by-N-by-P:
Each row
— The output
at each sample time consists of an M-by-1-by-P array,
where each element contains the index of the minimum value of each
vector over the second dimension of the input. For an input that is
an M-by-N matrix, the output
at each sample time is an M-by-1 column vector.
Each column
— The
output at each sample time consists of a 1-by-N-by-P array,
where each element contains the index of the minimum value of each
vector over the first dimension of the input. For an input that is
an M-by-N matrix, the output
at each sample time is a 1-by-N row vector.
In this mode, the block treats length-M unoriented vector inputs as M-by-1 column vectors.
Entire input
— The
output at each sample time is a 1-by-3 vector that contains the location
of the minimum value in the M-by-N-by-P input
matrix. For an input that is an M-by-N matrix,
the output will be a 1-by-2 vector of one-based [x y] location coordinates
for the minimum value.
Specified dimension
—
The output at each sample time depends on Dimension.
If Dimension is set to 1, the output is the same
as when you select Each column
. If Dimension is
set to 2, the output is the same as when you select Each
row
. If Dimension is set to 3,
the output at each sample time is an M-by-N matrix
containing the indices of the minimum values of each vector over the
third dimension of the input.
When a minimum value occurs more than once, the computed index
corresponds to the first occurrence. For example, when the input is
the column vector [-1 2 3 2 -1]'
, the computed
one-based index of the minimum value is 1
rather
than 5
when Each column
is
selected.
When you set the Mode parameter to Value
and Index
, the block outputs both the minima, and the
indices.
When you set the Mode parameter to Running
,
the block tracks the minimum value of each channel in a time sequence
of M-by-N inputs. In this mode,
the block treats each element as a channel.
The block resets the running minimum whenever a reset event is detected at the optional Rst port. The reset sample time must be a positive integer multiple of the input sample time.
You specify the reset event by the Reset port parameter:
None
— Disables
the Rst port
Rising edge
— Triggers
a reset operation when the Rst input does one of the following:
Rises from a negative value to a positive value or zero
Rises from zero to a positive value, where the rise is not a continuation of a rise from a negative value to zero (see the following figure)
Falling edge
—
Triggers a reset operation when the
Rst
input does one of the
following:
Falls from a positive value to a negative value or zero
Falls from zero to a negative value, where the fall is not a continuation of a fall from a positive value to zero (see the following figure)
Either edge
— Triggers
a reset operation when the Rst
input is a Rising
edge
or Falling edge
(as
described above)
Non-zero sample
—
Triggers a reset operation at each sample time that the Rst
input
is not zero
When running simulations in the Simulink® MultiTasking
mode,
reset signals have a one-sample latency. Therefore, when the block
detects a reset event, there is a one-sample delay at the reset port
rate before the block applies the reset.
To calculate the statistical value within a particular region of interest (ROI) of the input,
select the Enable ROI processing check box. This applies to any mode
other than the Running mode and when you set the Find the minimum value
over parameter to Entire input
and you select the
Enable ROI processing check box. ROI processing applies only for 2-D
inputs.
You can specify a rectangle, line, label matrix, or binary mask ROI type.
Use the binary mask to specify which pixels to highlight or select.
Use the label matrix
to label regions. Pixels set to 0
represent the
background. Pixels set to 1
represent the first
object, pixels set to 2
, represent the second
object, and so on. Use the Label Numbers port
to specify the objects in the label matrix for which the block
calculates statistics. The input to this port must be a vector of
scalar values that correspond to the labeled regions in the label
matrix.
For rectangular ROIs, use the ROI portion to process parameter to specify whether to calculate the statistical value for the entire ROI or just the ROI perimeter. For more information about the format of the input to the ROI port when you set the ROI to a rectangle or a line, see the Draw Shapes block reference page.
Output = Individual statistics for each ROI
Flag Port Output | Description |
---|---|
0 | ROI is completely outside the input image. |
1 | ROI is completely or partially inside the input image. |
Output = Single statistic for all ROIs
Flag Port Output | Description |
---|---|
0 | All ROIs are completely outside the input image. |
1 | At least one ROI is completely or partially inside the input image. |
If the ROI is partially outside the image, the block only computes the statistical values for the portion of the ROI that is within the image.
Output = Individual statistics for each ROI
Flag Port Output | Description |
---|---|
0 | Label number is not in the label matrix. |
1 | Label number is in the label matrix. |
Output = Single statistic for all ROIs
Flag Port Output | Description |
---|---|
0 | None of the label numbers are in the label matrix. |
1 | At least one of the label numbers is in the label matrix. |
The parameters on the Fixed-point pane of the dialog box are only used for complex fixed-point inputs. The sum of the squares of the real and imaginary parts of such an input are formed before a comparison is made, as described in Value Mode. The results of the squares of the real and imaginary parts are placed into the product output data type. The result of the sum of the squares is placed into the accumulator data type. These parameters are ignored for other types of inputs.
Specify the block's mode of operation:
Value and Index
— Output both the value and the index
location.
Value
—
Output the minimum value of each input matrix. For
more information, see Value Mode
Index
—
Output the one-based index location of the minimum
value. For more information, see Index Mode
Running
—
Track the minimum value of the input sequence over
time. For more information, see Running Mode.
For the Value
, Index
, and
Value and Index
modes,
the 2-D Minimum block produces identical results as
the MATLAB®
min
function when it is called as [y I] =
min(u,[],D)
, where u
and y
are the input and output,
respectively, D
is the dimension,
and I
is the index.
Specify whether the block should find the minimum of the entire input each row, each column, or dimensions specified by the Dimension parameter.
Specify the reset event that causes the block to reset
the running minimum. The rate of the reset signal
must be a positive integer multiple of the rate of
the data signal input. This parameter appears only
when you set the Mode parameter
to Running
. For
information about the possible values of this
parameter, see Resetting the Running Minimum.
Specify the dimension (one-based value) of the input
signal, over which the minimum is computed. The
value of this parameter cannot exceed the number of
dimensions in the input signal. This parameter
applies only when you set the Find the
minimum value over parameter to
Specified
dimension
.
Select this check box to calculate the statistical
value within a particular region of each image. This
parameter applies only when you set the
Find the minimum value over
parameter to Entire
input
, and the block is not in running
mode.
Specify the type of ROI you want to use. Your choices
are Rectangles
,
Lines
,
Label matrix
, or
Binary mask
.
When you set this parameter to
Rectangles
or
Lines
, the
Output flag indicating if ROI is within
image bounds check box appears in the
dialog box. If you select this check box, the
Flag port appears on the
block.
When you set this parameter to Label
matrix
, the
Label and Label
Numbers ports appear on the block and
the Output flag indicating if input label
numbers are valid check box appears in
the dialog box. If you select this check box, the
Flag port appears on the block.
See Output = Individual statistics for each ROI for details.
Specify whether you want to calculate the statistical
value for the entire ROI or just the ROI perimeter.
This parameter applies only when you set the
ROI type parameter to
Rectangles
.
Specify the block output. The block can output a
vector of separate statistical values for each ROI
or a scalar value that represents the statistical
value for all the specified ROIs. This parameter
does not apply when you set the ROI
type parameter, to Binary
mask
.
When you select this check box, the
Flag port appears on the
block. This check box applies only when you set the
ROI type parameter to
Rectangles
or
Lines
. For a
description of the Flag port
output, see the tables in ROI Processing.
When you select this check box, the Flag port
appears on the block. This check box applies only when you set the ROI
type parameter to Label matrix
.
For a description of the Flag port output, see
the tables in ROI Processing.
The parameters on the Data Types pane are only used for complex fixed-point inputs. The sum of the squares of the real and imaginary parts of such an input are formed before a comparison is made, as described in Value Mode. The results of the squares of the real and imaginary parts are placed into the product output data type. The result of the sum of the squares is placed into the accumulator data type. These parameters are ignored for other types of inputs.
Select the Rounding Modes for fixed-point operations.
Select the overflow mode for fixed-point operations. See Precision and Range.
Specify the product output data type. See Fixed-Point Data Types and Multiplication Data Types for illustrations depicting the use of the product output data type in this block. You can set it to:
A rule that inherits a data type, for example, Inherit:
Same as input
An expression that evaluates to a valid data
type, for example,
fixdt([],16,0)
Click the Show data type assistant button to display the Data
Type Assistant, which helps you set the Product
output data type parameter.
See Specify Data Types Using Data Type Assistant (Simulink) for more information.
Specify the accumulator data type. See Fixed-Point Data Types for illustrations depicting the use of the accumulator data type in this block. You can set this parameter to:
A rule that inherits a data type, for example, Inherit:
Same as input
An expression that evaluates to a valid data
type, for example,
fixdt([],16,0)
Click the Show data type assistant button to display the Data
Type Assistant, which helps you set the Accumulator
data type parameter.
See Specify Data Types Using Data Type Assistant (Simulink) for more information.
The ex_vision_2dminimum example finds the minimum value within two ROIs. The model outputs the minimum values and their one-based [x y] coordinate locations.
2-D Maximum | Computer Vision Toolbox™ |
2-D Mean | Computer Vision Toolbox |
MinMax | Simulink |
2D-Histogram | Computer Vision Toolbox |
min | MATLAB |