Python实现图片相似度比较之SSIM

Python实现图片相似度比较之SSIM

解读 SSIM 数值

结构相似性指数 (SSIM) 是用来衡量两张图像相似度的指标,范围从 -1 到 1:

  • 1 表示完全相同。
  • 0 表示没有任何相似性。
  • 负值 表示图像之间的差异超出了正常范围(通常是因为两张图像的内容差异非常大)。

一般来说,SSIM 数值越接近 1,表示图像越相似。

代码案例:

import cv2
from skimage.metrics import structural_similarity as ssim

# 图像路径
image1_path = 'image_38.jpg'
image2_path = 'image_183.jpg'

# 读取图像
image1 = cv2.imread(image1_path)
image2 = cv2.imread(image2_path)

# 检查图像是否成功加载
if image1 is None:
    raise FileNotFoundError(f"图像文件未找到: {image1_path}")
if image2 is None:
    raise FileNotFoundError(f"图像文件未找到: {image2_path}")

# 转换为灰度图像
gray1 = cv2.cvtColor(image1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(image2, cv2.COLOR_BGR2GRAY)

# 计算结构相似性 (SSIM)
ssim_score, _ = ssim(gray1, gray2, full=True)

# 打印 SSIM 数值
print(f"SSIM Score: {ssim_score:.2f}")

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值