Function absdiff

Source
pub fn absdiff(
    src1: &impl ToInputArray,
    src2: &impl ToInputArray,
    dst: &mut impl ToOutputArray,
) -> Result<()>
Expand description

Calculates the per-element absolute difference between two arrays or between an array and a scalar.

The function cv::absdiff calculates:

  • Absolute difference between two arrays when they have the same size and type: block formula
  • Absolute difference between an array and a scalar when the second array is constructed from Scalar or has as many elements as the number of channels in src1: block formula
  • Absolute difference between a scalar and an array when the first array is constructed from Scalar or has as many elements as the number of channels in src2: block formula where I is a multi-dimensional index of array elements. In case of multi-channel arrays, each channel is processed independently.

Note: Saturation is not applied when the arrays have the depth CV_32S. You may even get a negative value in the case of overflow.

Note: (Python) Be careful to difference behaviour between src1/src2 are single number and they are tuple/array. absdiff(src,X) means absdiff(src,(X,X,X,X)). absdiff(src,(X,)) means absdiff(src,(X,0,0,0)).

§Parameters

  • src1: first input array or a scalar.
  • src2: second input array or a scalar.
  • dst: output array that has the same size and type as input arrays.

§See also

cv::abs(const Mat&)