Функция image.psnr
Функция image.psnr вычисляет пиковое отношение сигнала к шуму
между двумя тензорами изображений. Первым параметром
функция принимает тензор с эталонным изображением,
вторым - тензор с изображением, которое сравнивается
с эталоном. Третьим параметром передается максимальное
значение пикселя max_val. Чем выше возвращаемое
значение, тем ближе сравниваемое изображение к эталону.
Синтаксис
tf.image.psnr(a, b, max_val)
Пример
Давайте вычислим PSNR между двумя одинаковыми
изображениями с максимальным значением пикселя
255:
import tensorflow as tf
a = tf.constant([[[1, 2, 3], [4, 5, 6]]], dtype=tf.float32)
b = tf.constant([[[1, 2, 3], [4, 5, 6]]], dtype=tf.float32)
res = tf.image.psnr(a, b, max_val=255)
print(res)
Результат выполнения кода:
tf.Tensor([inf], shape=(1,), dtype=float32)
Пример
Давайте вычислим PSNR между двумя разными изображениями:
import tensorflow as tf
a = tf.constant([[[1, 2, 3], [4, 5, 6]]], dtype=tf.float32)
b = tf.constant([[[7, 8, 9], [10, 11, 12]]], dtype=tf.float32)
res = tf.image.psnr(a, b, max_val=255)
print(res)
Результат выполнения кода:
tf.Tensor([33.471745], shape=(1,), dtype=float32)
Пример
Давайте вычислим PSNR для пакета из двух изображений:
import tensorflow as tf
a = tf.constant([
[[1, 2, 3], [4, 5, 6]],
[[1, 2, 3], [4, 5, 6]]
], dtype=tf.float32)
b = tf.constant([
[[1, 2, 3], [4, 5, 6]],
[[7, 8, 9], [10, 11, 12]]
], dtype=tf.float32)
res = tf.image.psnr(a, b, max_val=255)
print(res)
Результат выполнения кода:
tf.Tensor([ inf 33.471745], shape=(2,), dtype=float32)
Смотрите также
-
функцию
ssim,
которая вычисляет индекс структурного сходства -
функцию
ssim_multiscale,
которая вычисляет многомасштабный индекс структурного сходства -
функцию
total_variation,
которая вычисляет полную вариацию изображения -
функцию
per_image_standardization,
которая стандартизирует изображение по пикселям