计算图片相似度的多种解决方案 您所在的位置:网站首页 图像相似度计算公式 计算图片相似度的多种解决方案

计算图片相似度的多种解决方案

2024-07-11 07:08| 来源: 网络整理| 查看: 265

利用直方图距离计算图片相似度

计算公式:

直方图计算公式

其中,G和S为两张图片的图像颜色分布直方图,N为颜色空间样点数。

这里使用分块的方法计算相似度,用以提高各部分的特征,防止图片颜色相似导致计算的相似度高。

利用平均哈希算法计算图片相似度

计算步骤:

缩放图片:一般大小为8*8,64个像素值简化色彩,转化为灰度图:可以使用Image的convert(‘L’)方法计算平均值:计算出灰度图所有像素点的像素值的平均值比较像素灰度值:遍历灰度图的每一个像素值与上一步计算的平均值,大于平均值记录为1,否则为0得到64位图像指纹记录两张图片的图像指纹的汉明距离,计算图片相似度 利用感知哈希算法计算图片相似度

计算步骤:

缩放图片:一般大小为32*32,这样方便DCT计算简化色彩,转化为灰度图:可以使用Image的convert(‘L’)方法

计算DCT(离散余弦变换):

获得图像的二维数据矩阵f(x,y)

求离散余弦变换的系数矩阵[A]

求系数矩阵对应的转置矩阵[A]T

根据公式[F(u,v)]=[A][f(x,y)][A]T 计算离散余弦变换

缩小DCT:DCT计算后的矩阵是32*32,保留左上角的8*8,这些代表的图片的最低频率

计算平均值:计算缩小DCT后的所有像素点的平均进一步减小DCT:大于平均值记录为1,否则为0得到64位信息指纹记录两张图片的图像指纹的汉明距离,计算图片相似度 利用差异哈希算法计算图片相似度

计算步骤:

缩放图片:一般大小为9*8,以留下多一行的像素数据进行差异计算简化色彩,转化为灰度图:可以使用Image的convert(‘L’)方法计算差异值:dHash算法工作在相邻像素之间,这样每行9个像素之间产生了8个不同的差异,一共8行,则产生了64个差异哈希值得到64位信息指纹:如果左边的像素比右边的更亮,则记录为1,否则为0记录两张图片的图像指纹的汉明距离,计算图片相似度

GitHub地址



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有