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 значений.

Другие вопросы по тегам