[][src]Function opencv::core::absdiff

pub fn absdiff(src1: &Mat, src2: &Mat, dst: &mut Mat) -> Result<()>

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:

\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2}(I)|)
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`:
\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1}(I) - \texttt{src2} |)
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`:
\texttt{dst}(I) = \texttt{saturate} (| \texttt{src1} - \texttt{src2}(I) |)
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.

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&)