图片相似度计算方式

- 利用直方图距离计算图片相似度
利用下图公式进行计算
直方图距离计算公式
其中,G和S为两张图片的图像颜色分布直方图,N为颜色空间样点数。
这里使用分块的方法计算相似度,用以提高各部分的特征,防止图片颜色相似导致计算的相似度高。

- 利用平均哈希算法计算图片相似度
步骤:

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

-利用感知哈希算法计算图片相似度
步骤:

  1. 缩放图片:一般大小为32*32,这样方便DCT计算
  2. 简化色彩,转化为灰度图:可以使用Image的convert(‘L’)方法
  3. 计算DCT(离散余弦变换):
    (1)获得图像的二维数据矩阵f(x,y)
    (2)求离散余弦变换的系数矩阵[A]
    (3)求系数矩阵对应的转置矩阵[A]T
    (4)根据公式[F(u,v)]=[A][f(x,y)][A]T 计算离散余弦变换
  4. 缩小DCT:DCT计算后的矩阵是3232,保留左上角的88,这些代表的图片的最低频率
  5. 计算平均值:计算缩小DCT后的所有像素点的平均
  6. 进一步减小DCT:大于平均值记录为1,否则为0
  7. 得到64位信息指纹
  8. 记录两张图片的图像指纹的汉明距离,计算图片相似度</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值