python版本为3.7.7,OpenCV版本为4.2.1,源码如下:
# -*- coding: utf-8 -*-
from skimage.metrics import structural_similarity
import imutils
import cv2
# 加载两张图片并将他们转换为灰度
imageA = cv2.imread(r"D:\Software\PythonProject\image\11.png")
imageB = cv2.imread(r"D:\Software\PythonProject\image\22.png")
grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY)
grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY)
# 计算两个灰度图像之间的结构相似度指数
(score,diff) = structural_similarity(grayA,grayB,full = True)
diff = (diff *255).astype("uint8")
print("SSIM:{}".format(score))
# 找到不同点的轮廓以致于我们可以在被标识为“不同”的区域周围放置矩形
thresh = cv2.threshold(diff, 0, 255, cv2.THRESH_BINARY_INV | cv2.<