LUTAsync function

Future<Mat> LUTAsync(
  1. InputArray src,
  2. InputArray lut, {
  3. OutputArray? dst,
})

Performs a look-up table transform of an array. Support CV_8U, CV_8S, CV_16U, CV_16S

The function LUT fills the output array with values from the look-up table. Indices of the entries are taken from the input array. That is, the function processes each element of src as follows:

$\texttt{dst} (I) \leftarrow \texttt{lut(src(I) + d)}$

where

$d = \fork{0}{if (\texttt{src}) has depth (\texttt{CV_8U})}{128}{if (\texttt{src}) has depth (\texttt{CV_8S})}$

src input array of 8-bit elements. lut look-up table of 256 elements; in case of multi-channel input array, the table should either have a single channel (in this case the same table is used for all channels) or the same number of channels as in the input array.

https://docs.opencv.org/4.x/d2/de8/group__core__array.html#gab55b8d062b7f5587720ede032d34156f

Implementation

Future<Mat> LUTAsync(InputArray src, InputArray lut, {OutputArray? dst}) async {
  dst ??= Mat.empty();
  return cvRunAsync0(
    (callback) => ccore.cv_LUT(src.ref, lut.ref, dst!.ref, callback),
    (c) {
      return c.complete(dst);
    },
  );
}