TensorFlow函数:tf.image.ssim

由 Carrie 创建, 最后一次修改 2018-06-22

tf.image.ssim函数

tf.image.ssim(
    img1,
    img2,
    max_val
)

定义在:tensorflow/python/ops/image_ops_impl.py.

计算img1和img2之间的SSIM索引.

该功能基于标准的SSIM实现的:Wang,Z.,Bovik,AC,Sheikh,HR和Simoncelli,EP(2004).图像质量评价:从错误可见性到结构相似性.IEEE图像处理事物.

注意:真正的SSIM仅在灰度上定义.此功能不执行任何色彩空间转换.(如果输入已经是YUV,那么它将计算平均YUV SSIM.)

由于过滤器尺寸的原因,图像尺寸必须至少为11x11.

示例:

# Read images from file.
im1 = tf.decode_png('path/to/im1.png')
im2 = tf.decode_png('path/to/im2.png')
# Compute SSIM over tf.uint8 Tensors.
ssim1 = tf.image.ssim(im1, im2, max_val=255)

# Compute SSIM over tf.float32 Tensors.
im1 = tf.image.convert_image_dtype(im1, tf.float32)
im2 = tf.image.convert_image_dtype(im2, tf.float32)
ssim2 = tf.image.ssim(im1, im2, max_val=1.0)
# ssim1 and ssim2 both have type tf.float32 and are almost equal.

参数:

  • img1:第一批图像.
  • img2:第二批图像.
  • max_val:图像的动态范围(即最大允许值与最小允许值之间的差值).

返回:

一个包含批处理中每个图像的SSIM值的张量.返回的SSIM值在范围(-1,1)中,当像素值非负时返回形状为:broadcast(img1.shape [: - 3],img2.shape [: - 3])的张量.

以上内容是否对您有帮助:

二维码
建议反馈
二维码