Tensorflowjs 计算图像中的黑色像素

Tensorflowjs count black pixels from image

我正在读取 tensorflow.js 中的 RGB 图像,需要找出该图像中黑色像素 [0,0,0] 的数量?有什么方法可以做这个操作吗?

张量图像是没有透明度的 3d 张量

给定一张张量图像,下面将return黑色像素的个数

t = tf.tensor([0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 1, 0], [2, 2, 3])
t.sum(-1).equal(tf.zeros(t.shape.slice(0, -1))).sum().print() // 2

我们对每个像素值求和(在轴 -1 上求和)并创建一个与初始张量具有相同宽度和高度的二维张量。比较两个张量,最后一个 tf.sum 将计算第一个 tf.sum 张量具有 0 值的地方。