Отображение Opencv. js Matrix без cv.imshow () - PullRequest
1 голос
/ 16 февраля 2020

Сообщество Hello Stack Overflow.

Я пытаюсь извлечь значения пикселей из обрезанного участка матрицы opencv в массив javascript, чтобы передать эти данные в тензор для OCR. Я не могу использовать cv.imshow(), потому что он взаимодействует с DOM, и мой процесс работает в сети.

Это то, что я до сих пор конвертирую из Opencv в js массив:

let src = cv.imread('canvasInput');
let dst = new cv.Mat();
let rect = new cv.Rect(100, 100, 300, 300);
dst = src.roi(rect);

// equivalent(ish) to cv.imshow();
let canvas = document.getElementById('canvasOutput');
let context = canvas.getContext('2d');

let imageData = context.createImageData(dst.cols, dst.rows);
imageData.data.set(new Uint8ClampedArray(dst.data, dst.cols, dst.rows));

canvas.height = dst.rows;
canvas.width = dst.cols;

context.putImageData(imageData, 0, 0);
// end cv.imshow()

src.delete();
dst.delete();

Если вы вставите этот код в Opencv IDE и нажмете попробуйте вывод кажется странным смещение. Что я тут не так делаю?

Заранее спасибо за помощь !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...