我想使用 opencv4nodejs npm 包将画布 ImageData(Uint8ClampedArray 类型)转换为图像矩阵。
https://www.npmjs.com/package/opencv4nodejs
https://github.com/justadudewhohacks/opencv4nodejs#readme
github README 清楚地解释了如何将图像矩阵转换为画布 ImageData,但它没有显示相反使用什么方法。
const img = ...
// convert your image to rgba color space
const matRGBA = img.channels === 1
? img.cvtColor(cv.COLOR_GRAY2RGBA)
: img.cvtColor(cv.COLOR_BGR2RGBA);
// create new ImageData from raw mat data
const imgData = new ImageData(
new Uint8ClampedArray(matRGBA.getData()),
img.cols,
img.rows
);
我想知道如何将灰度画布 ImageData 转换为 matGRAY。(或将 rgba ImageData 转换为 BGR 矩阵)。任何一种策略都会对我很有帮助!我还没有找到其他文档。
目标:
const ctx = canvas.getContext('2d');
const imageData = ctx.getImageData(0,0,canvas.width, canvas.height);
//Then something like this....
// const matGRAY = opencv4nodejs.imagedata2matrix(imageData);