计算图像相似度的算法有哪些
SIM = Structural SIMilarity(结构相似性),这是一种用来评测图像质量的一种方法。
由于人类视觉很容易从图像中抽取出结构信息,因此计算两幅图像结构信息的相似性就可以用来作为一种检测图像质量的好坏.首先结构信息不应该受到照明的影响,因此在计算结构信息时需要去掉亮度信息,即需要减掉图像的均值;其次结构信息不应该受到图像对比度的影响,因此计算结构信息时需要归一化图像的方差;最后我们就可以对图像求取结构信息了,通常我们可以简单地计算一下这两幅处理后的图像的相关系数.然而图像质量的好坏也受到亮度信息和对比度信息的制约,因此在计算图像质量好坏时,在考虑结构信息的同时也需要考虑这两者的影响.通常使用的计算方法如下,其中C1,C2,C3用来增加计算结果的稳定性: 2u(x)u(y) + C1L(X,Y) = ------------------------ ,u(x), u(y)为图像的均值 u(x)^2 + u(y)^2 + C1 2d(x)d(y) + C2C(X,Y) = ------------------------,d(x),d(y)为图像的方差 d(x)^2 + d(y)^2 + C2 d(x,y) + C3S(X,Y) = ----------------------,d(x,y)为图像x,y的协方差 d(x)d(y) + C3而图像质量Q = [L(X,Y)^a] x [C(X,Y)^b] x [S(X,Y)^c],其中a,b,c分别用来控制三个要素的重要性,为了计算方便可以均选择为1,C1,C2,C3为比较小的数值,通常C1=(K1 x L)^2, C2=(K2 xL)^2, C3 = C2/2, K1。
谷歌人工智能写作项目:神经网络伪原创
如何使用opencv中的NCC算法实现两幅图像的相似性判断
感知哈希算法(perceptual hash algorithm),它的作用是对每张图像生成一个“指纹”(fingerprint)字符串,然后比较不同图像的指纹文案狗。结果越接近,就说明图像越相似。
实现步骤:1. 缩小尺寸:将图像缩小到8*8的尺寸,总共64个像素。
<