[英]Displaying Opencv.js Matrix without cv.imshow()
你好堆栈溢出社区。
我试图将像素值从 opencv 矩阵的裁剪部分提取到 javascript 数组,以便将该数据提供给 OCR 的张量。 我不能使用cv.imshow()
因为它与 DOM 交互并且我的进程在 web worker 上。
这是我到目前为止从 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 中并单击try it,则输出似乎奇怪地偏移。 我在这里做错了什么?
在此先感谢您的帮助!!
我相信这应该可以帮助你:
let mat = new cv.Mat();
// Initialise a MatVector
let matVec = new cv.MatVector();
// Push a Mat back into MatVector
matVec.push_back(mat);
// Get a Mat fom MatVector
let cnt = matVec.get(0);
mat.delete(); matVec.delete(); cnt.delete();
有关更多详细信息,请参阅 opencv.js 文档 链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.