from skimage.metrics import structural_similarity as compare_ssim import cv2 # 加载两张图片并将他们转换为灰度 imageA = cv2.imread(r"/Users/dcc/Desktop/333.JPG") imageB = cv2.imread(r"/Users/dcc/Desktop/4444.JPG") grayA = cv2.cvtColor(imageA, cv2.COLOR_BGR2GRAY) grayB = cv2.cvtColor(imageB, cv2.COLOR_BGR2GRAY) # 计算两个灰度图像之间的结构相似度指数 (score, diff) = compare_ssim(grayA, grayB, full=True) diff = (diff * 255).astype("uint8") print("SSIM:{}".format(score)) #找到不同点的轮廓以致于我们可以在被标识为“不同”的区域周围放置矩形 thresh = cv2.threshold(diff, 0, 255, cv2.THRESH_BINARY_INV | cv2.THRESH_OTSU)[1] contours, hierarchy = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) # #找到一系列区域,在区域周围放置矩形 for c in contours: (x, y, w, h) = cv2.boundingRect(c) cv2.rectangle(imageA, (x,y), (x+w,y+h), (0,0,255), 2) cv2.rectangle(imageB, (x,y), (x+w,y+h), (0,0,255), 2) #用cv2.imshow 展现最终对比之后的图片, cv2.imwrite 保存最终的结果图片 cv2.imshow("Modified", imageB) cv2.imwrite(r"/Users/dcc/Desktop/99999999999.png", imageB) cv2.waitKey(0)
非原著,网上的比较老了,执行就报错,所以重新搞了一个版本
Wow, marvelous weblog layout! How long have you ever been blogging for?
you made running a blog look easy. The whole glance of your web site is fantastic,
let alone the content! You can see similar here sklep online
Wow, amazing blog layout! How lengthy have you been running a blog for?
you make running a blog glance easy. The total glance of your site is magnificent, let alone
the content material! You can see similar here sklep online
Wow, fantastic weblog format! How long have you ever been blogging for?
you make running a blog glance easy. The entire glance of your web
site is great, let alone the content! You can see similar here e-commerce
Wow, incredible weblog layout! How long have you been blogging for?
you made running a blog glance easy. The entire glance of your web site is magnificent, as well as the content!
You can see similar here e-commerce
aspirin while breastfeeding