Node.js:有效访问 ndarray 中的值以进行像素读取

Fle*_*tch 4 multidimensional-array getpixel node.js

我正在使用 npm:get-pixels 返回一个 ndarray 并且我在理解如何正确处理这个数组时遇到了一些麻烦。

假设像素是 ndarray

console.log(pixels.get(800, 200, 0));
console.log(pixels.get(800, 200, 1));
console.log(pixels.get(800, 200, 2));
Run Code Online (Sandbox Code Playgroud)

将打印图像坐标 [800,200] 处像素的 RGB 值。

我是否必须使用三个单独的 .get() 来实现这一点?

节点库
获取像素

Fle*_*tch 5

最后我用了这个

function getPixel(x, y, pixels) {
    var out = [];
    var pointer = pixels.offset + (pixels.stride[0] * x) + (pixels.stride[1] * y);

    for(var i=0; i<4; i++) {
        out.push(pixels.data[pointer + (pixels.stride[2] * i)]);
    }

    return out;
}
Run Code Online (Sandbox Code Playgroud)