Opencv (JavaScript) Мат из массива не работает - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь создать мат из 2-мерного массива с помощью метода cv.matFromArray(rows, cols, type, array);.

Он работает с очень маленькими массивами вроде этого:

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

Но когда я в основном сделайте то же самое с моим массивом изображений (1024x1024 пикселей, диапазон значений от 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

Почему это так?

1 Ответ

1 голос
/ 05 мая 2020

Хорошо, я преобразовал 2d-массив в 1d вот так:

[].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;
...