Функция image.ssim
Функция image.ssim вычисляет индекс структурного сходства
(Structural Similarity Index Measure) между двумя изображениями.
Первым параметром передается первое изображение, вторым - второе
изображение. Третьим параметром можно передать максимальное
значение пикселей max_val, четвертым - размер фильтра
filter_size, пятым - размер шага filter_sigma.
Функция возвращает тензор со значением SSIM для каждого изображения
в пакете.
Синтаксис
tf.image.ssim(img1, img2, max_val, [filter_size], [filter_sigma], [k1], [k2])
Пример
Давайте вычислим SSIM между двумя одинаковыми изображениями:
import tensorflow as tf
img1 = tf.constant([[[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]]])
img2 = tf.constant([[[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]]])
res = tf.image.ssim(img1, img2, max_val=6.0)
print(res)
Результат выполнения кода:
tf.Tensor([1.], shape=(1,), dtype=float32)
Пример
Давайте вычислим SSIM между двумя разными изображениями:
import tensorflow as tf
img1 = tf.constant([[[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]]])
img2 = tf.constant([[[6.0], [5.0], [4.0]], [[3.0], [2.0], [1.0]]])
res = tf.image.ssim(img1, img2, max_val=6.0)
print(res)
Результат выполнения кода:
tf.Tensor([0.04000004], shape=(1,), dtype=float32)
Пример
Давайте вычислим SSIM для пакета из двух изображений:
import tensorflow as tf
img1 = tf.constant([
[[[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]]],
[[[1.0], [1.0], [1.0]], [[1.0], [1.0], [1.0]]]
])
img2 = tf.constant([
[[[1.0], [2.0], [3.0]], [[4.0], [5.0], [6.0]]],
[[[6.0], [6.0], [6.0]], [[6.0], [6.0], [6.0]]]
])
res = tf.image.ssim(img1, img2, max_val=6.0)
print(res)
Результат выполнения кода:
tf.Tensor([1. 0.], shape=(2,), dtype=float32)
Смотрите также
-
функцию
psnr,
которая вычисляет пиковое отношение сигнал/шум -
функцию
ssim_multiscale,
которая вычисляет многомасштабный SSIM -
функцию
total_variation,
которая вычисляет полную вариацию изображения -
функцию
per_image_standardization,
которая стандартизирует изображение