使用OpenCV进行结构化相似度判别
浏览量:2721
时间:2024-01-23 22:20:17
作者:采采
在计算机视觉领域,图像相似度判别是一项重要的任务。除了直方图之外,还有一种有效的方法是使用结构化相似度判别,其中包括使用compare_ssim函数进行处理。
导入必要的库和模块
首先需要从中导入compare_ssim函数,并且导入cv2和numpy库进行图像处理操作。同时,还需要导入库用于绘制直方图。
from import compare_ssim import cv2 as cv import numpy as np from matplotlib import pyplot as plt
加载图像
使用函数分别加载两张待判断相似度的图像。
image ("") pic1 ("") pic2 ("")
转化为灰度图像
对图像进行灰度化操作,注意与直方图比较相似度的方法不同。
grayImage (image, _BGR2GRAY) grayPic1 (pic1, _BGR2GRAY) grayPic2 (pic2, _BGR2GRAY)
绘制直方图
通过绘制直方图,可以直观地比较两个灰度图像的分布情况。
(2, 1, 1) plt.hist(grayImage.ravel(), 256, [0, 256]) (2, 1, 2) plt.hist(grayPic1.ravel(), 256, [0, 256]) ()
使用compare_ssim计算相似度
使用compare_ssim函数计算灰度图像之间的结构化相似度或者称为SSIM(图像质量/评价)。
similarity, diff compare_ssim(grayImage, grayPic1, fullTrue) print(similarity, diff)
输出结果
根据计算结果,可以得到相似度值。在本例中,相似度为0.56,与肉眼感觉差不多,说明这种结构化判断方法是有效的。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。
上一篇
如何在Arcgis中修复面空洞
下一篇
如何在PPT中插入字母饼图