[−][src]Function opencv::core::subtract
pub fn subtract(
src1: &dyn ToInputArray,
src2: &dyn ToInputArray,
dst: &mut dyn ToOutputArray,
mask: &dyn ToInputArray,
dtype: i32
) -> Result<()>
Calculates the per-element difference between two arrays or array and a scalar.
The function subtract calculates:
- Difference between two arrays, when both input arrays have the same size and the same number of channels:
- Difference between an array and a scalar, when src2 is constructed from Scalar or has the same
number of elements as
src1.channels()
: - Difference between a scalar and an array, when src1 is constructed from Scalar or has the same
number of elements as
src2.channels()
: - The reverse difference between a scalar and an array in the case of
SubRS
: where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each channel is processed independently.
The first function in the list above can be replaced with matrix expressions:
dst = src1 - src2; dst -= src1; // equivalent to subtract(dst, src1, dst);
The input arrays and the output array can all have the same or different depths. For example, you can subtract to 8-bit unsigned arrays and store the difference in a 16-bit signed array. Depth of the output array is determined by dtype parameter. In the second and third cases above, as well as in the first case, when src1.depth() == src2.depth(), dtype can be set to the default -1. In this case the output array will have the same depth as the input array, be it src1, src2 or both.
Note: Saturation is not applied when the output array has the depth CV_32S. You may even get result of an incorrect sign in the case of overflow.
Parameters
- src1: first input array or a scalar.
- src2: second input array or a scalar.
- dst: output array of the same size and the same number of channels as the input array.
- mask: optional operation mask; this is an 8-bit single channel array that specifies elements of the output array to be changed.
- dtype: optional depth of the output array
See also
add, addWeighted, scaleAdd, Mat::convertTo
C++ default parameters
- mask: noArray()
- dtype: -1