Функция image.flip_left_right
Функция image.flip_left_right выполняет зеркальное отражение
изображения слева направо. Первым параметром функция принимает
тензор с изображением. Изображение может быть трехмерным
(высота, ширина, каналы) или четырехмерным
(пакет, высота, ширина, каналы). Функция возвращает тензор
той же формы, что и входной, но с отраженными по горизонтали
пикселями.
Отражение происходит относительно вертикальной оси, проходящей через центр изображения. Крайние левые пиксели меняются местами с крайними правыми, следующие за ними - со следующими от правого края и так далее.
Синтаксис
tf.image.flip_left_right(image)
Пример
Давайте создадим двумерное изображение с одним каналом и отразим его по горизонтали:
import tensorflow as tf
img = tf.constant([
[[1], [2], [3]],
[[4], [5], [6]]
])
res = tf.image.flip_left_right(img)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[3]
[2]
[1]]
[[6]
[5]
[4]]], shape=(2, 3, 1), dtype=int32)
Пример
Давайте создадим трехканальное изображение и отразим его по горизонтали:
import tensorflow as tf
img = tf.constant([
[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
[[10, 11, 12], [13, 14, 15], [16, 17, 18]]
])
res = tf.image.flip_left_right(img)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[ 7 8 9]
[ 4 5 6]
[ 1 2 3]]
[[16 17 18]
[13 14 15]
[10 11 12]]], shape=(2, 3, 3), dtype=int32)
Пример
Давайте создадим пакет из двух изображений и отразим каждое из них по горизонтали:
import tensorflow as tf
img = tf.constant([
[
[[1], [2], [3]],
[[4], [5], [6]]
],
[
[[7], [8], [9]],
[[10], [11], [12]]
]
])
res = tf.image.flip_left_right(img)
print(res)
Результат выполнения кода:
tf.Tensor(
[[[[ 3]
[ 2]
[ 1]]
[[ 6]
[ 5]
[ 4]]]
[[[ 9]
[ 8]
[ 7]]
[[12]
[11]
[10]]]], shape=(2, 2, 3, 1), dtype=int32)
Смотрите также
-
функцию
flip_up_down,
которая отражает изображение по вертикали -
функцию
rot90,
которая поворачивает изображение на 90 градусов -
функцию
transpose,
которая транспонирует изображение -
функцию
random_flip_left_right,
которая случайно отражает изображение по горизонтали