Spec-Zone.ru › TensorFlow 2.4
tf.image.image_gradients Возвращает градиенты изображения (dy, dx) для каждого цветового канала.
tf.image.image_gradients(
image
)
Оба выходных тензора имеют такую же форму, как входной: [размер_пакета, h, w, d]. Значения градиента организованы таким образом, что [I(x+1, y) - I(x, y)] находится в позиции (x, y). Это означает, что dy всегда будет иметь нули в последней строке, а dx — всегда нули в последнем столбце.
Пример использования: BATCH_SIZE = 1
IMAGE_HEIGHT = 5
IMAGE_WIDTH = 5
CHANNELS = 1
image = tf.reshape(tf.range(IMAGE_HEIGHT * IMAGE_WIDTH * CHANNELS,
delta=1, dtype=tf.float32),
shape=(BATCH_SIZE, IMAGE_HEIGHT, IMAGE_WIDTH, CHANNELS))
dx, dy = tf.image.image_gradients(image)
print(image[0, :,:,0])
tf.Tensor(
[[ 0. 1. 2. 3. 4.]
[ 5. 6. 7. 8. 9.]
[10. 11. 12. 13. 14.]
[15. 16. 17. 18. 19.]
[20. 21. 22. 23. 24.]], shape=(5, 5), dtype=float32)
print(dx[0, :,:,0])
tf.Tensor(
[[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[5. 5. 5. 5. 5.]
[0. 0. 0. 0. 0.]], shape=(5, 5), dtype=float32)
print(dy[0, :,:,0])
tf.Tensor(
[[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]
[1. 1. 1. 1. 0.]], shape=(5, 5), dtype=float32)
Аргументы
image Тензор с формой [размер_пакета, h, w, d].
Возвращаемое значение Пара тензоров (dy, dx), содержащих вертикальные и горизонтальные градиенты изображения (конечная разность 1 шага).
Исключения
ValueError Если image не является 4D тензором.