Tensorflowjs считает черные пиксели изображения
Я читаю изображения RGB в tensorflow.js и мне нужно узнать количество черных пикселей [0,0,0] в этом изображении? Есть ли способ выполнить эту операцию?
1 ответ
Решение
Тензорное изображение - это трехмерный тензор без прозрачности.
Учитывая тензорное изображение, следующее вернет количество черных пикселей
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 значений.