来自 Array 的 Opencv (JavaScript) Mat 不起作用

Opencv (JavaScript) Mat from Array doesn't work

我正在尝试使用 cv.matFromArray(rows, cols, type, array); 方法从二维数组创建垫子。

它适用于像这样的非常小的数组:

  let mat = cv.matFromArray(2, 2, cv.CV_8UC1, [255, 255, 128, 128]);
  return mat; // works

但是当我基本上对我的图像数组(1024x1024px,值范围从 20 到 230)做同样的事情时,它只是将每个 Mat 值填充为 0

const mat = cv.matFromArray(img_array.length, img_array[0].length, cv.CV_8UC1, img_array);
return mat; // every value is 0

这是为什么?

好的,我像这样将二维数组转换为一维数组:

[].concat(...img_array);

现在正在运行:

img_array; // 1024x1024px 2d array

const mat = cv.matFromArray(img_array.length, img_array[0].length, cv.CV_8UC1, [].concat(...img_array));
return mat;