Как я могу инвертировать ЧЕРНЫЕ и БЕЛЫЕ (или оттенки серого) изображения в тензорном потоке? (черное ‹-›белое изменение)

Я хочу изменить некоторые изображения, состоящие только из черно-белых элементов (MNIST).

Я могу легко преобразовать черный в белый, белый в черный с помощью этого кода в элементе python.

def inverseImageBW_array(originalImage):
    temp = 1 - originalImage
    temp = -1.* originalImage
    return temp

однако я не могу этого сделать, когда обрабатываю код тензорного потока. Я пытался сделать это с помощью

tf.multiply(1- originalImage, -1)

купить не получится.

Я знаю, что мы можем легко изменить яркость или контраст с помощью функций tf.image, но я думаю, что нет функций, поддерживающих инвертирование черного и белого.

Помогите мне, пожалуйста.


person Heasung Kim    schedule 20.07.2017    source источник


Ответы (1)


Не знаю, почему у вас что-то не работает. Если ваше изображение представляет собой двухмерный тензор или трехмерный тензор с пакетом, то трансляция должна выполняться заботиться обо всем:

import tensorflow as tf

a = tf.constant([[0.5, 0.3], [0.2, 0.8]])
b = 1 - a
with tf.Session() as sess:
    print sess.run(b)
person Salvador Dali    schedule 20.07.2017
comment
да, я знаю, но потому что тензорный поток не знает о количестве входных данных x (например, [None, 28, 28, 1]). Потом ничего не делали, или иногда происходила ошибка. - person Heasung Kim; 20.07.2017
comment
есть ли другой способ преобразовать черные пиксели в белые, белые в черные? - person Heasung Kim; 20.07.2017
comment
Приведенное выше решение должно работать даже для входных данных размера [Нет, 28, 28, 1]. Ты это пробовал? - person vijay m; 20.07.2017