Сообщество 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 и нажмете попробуйте вывод кажется странным смещение. Что я тут не так делаю?
Заранее спасибо за помощь !!