UMat.nd constructor

UMat.nd(
  1. List<int> sizes,
  2. MatType type, {
  3. Scalar? s,
  4. UMatUsageFlags flags = UMatUsageFlags.USAGE_DEFAULT,
})

constructs n-dimensional matrix

UMat(int ndims, const int* sizes, int type, UMatUsageFlags usageFlags = USAGE_DEFAULT);
UMat(int ndims, const int* sizes, int type, const Scalar& s, UMatUsageFlags usageFlags = USAGE_DEFAULT);

https://docs.opencv.org/4.x/d7/d45/classcv_1_1UMat.html#af159e956ff96c64745c6940a3b1820ba

Implementation

factory UMat.nd(
  List<int> sizes,
  MatType type, {
  Scalar? s,
  UMatUsageFlags flags = UMatUsageFlags.USAGE_DEFAULT,
}) {
  final p = calloc<cvg.UMat>();
  final cSizes = calloc<ffi.Int>(sizes.length);
  cSizes.cast<ffi.Int32>().asTypedList(sizes.length).setAll(0, sizes);
  cvRun(
    () => s == null
        ? ccore.cv_UMat_create_4(sizes.length, cSizes, type.value, flags.value, p)
        : ccore.cv_UMat_create_5(sizes.length, cSizes, type.value, s.ref, flags.value, p),
  );
  calloc.free(cSizes);
  return UMat._(p);
}