# Identify similar images
- 利用直方图距离计算图片相似度
计算公式:
<img src="http://chart.googleapis.com/chart?cht=tx&chl=Sim(G,S)=\frac{1}{N}\sum_{i=1}^{N}{(1-\frac{|g_i-s_i|}{Max(g_i,s_i)})}" style="border:none;">
其中,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([离散余弦变换](https://en.wikipedia.org/wiki/Discrete_cosine_transform)):
> 获得图像的二维数据矩阵f(x,y)
>
> 求离散余弦变换的系数矩阵[A]
>
> 求系数矩阵对应的转置矩阵[A]T
>
> 根据公式[F(u,v)]=[A][f(x,y)][A]T 计算离散余弦变换
4. 缩小DCT:DCT计算后的矩阵是32\*32,保留左上角的8\*8,这些代表的图片的最低频率
5. 计算平均值:计算缩小DCT后的所有像素点的平均
6. 进一步减小DCT:大于平均值记录为1,否则为0
7. 得到64位信息指纹
8. 记录两张图片的图像指纹的汉明距离,计算图片相似度
- 利用差异哈希算法计算图片相似度
计算步骤:
1. 缩放图片:一般大小为9*8,以留下多一行的像素数据进行差异计算
2. 简化色彩,转化为灰度图:可以使用Image的convert('L')方法
3. 计算差异值:dHash算法工作在相邻像素之间,这样每行9个像素之间产生了8个不同的差异,一共8行,则产生了64个差异哈希值
4. 得到64位信息指纹:如果左边的像素比右边的更亮,则记录为1,否则为0
5. 记录两张图片的图像指纹的汉明距离,计算图片相似度
<br><br>
Use the related libraries:
>
> PIL
>
> matplotlib
没有合适的资源?快使用搜索试试~ 我知道了~
计算图片相似度的多种解决方案.zip
共9个文件
py:5个
jpg:2个
md:1个
需积分: 3 0 下载量 95 浏览量
2024-01-15
10:47:51
上传
评论
收藏 62KB ZIP 举报
温馨提示
方案是为解决特定问题或达成特定目标而制定的一系列计划或步骤。它的作用是提供一种系统性的方法,以有效地应对挑战、优化流程或实现目标。以下是方案的主要作用: 问题解决: 方案的核心目标是解决问题。通过系统性的规划和执行,方案能够分析问题的根本原因,提供可行的解决方案,并引导实施过程,确保问题得到合理解决。 目标达成: 方案通常与明确的目标相关联,它提供了一种达成这些目标的计划。无论是企业战略、项目管理还是个人发展,方案的制定都有助于明确目标并提供达成目标的路径。 资源优化: 方案在设计时考虑了可用资源,以最大化其效用。通过明智的资源分配,方案可以在有限的资源条件下实现最大的效益,提高效率并减少浪费。 风险管理: 方案通常会对潜在的风险进行评估,并制定相应的风险管理策略。这有助于减轻潜在问题的影响,提高方案的可行性和可持续性。 决策支持: 方案提供了决策者所需的信息和数据,以便做出明智的决策。这种数据驱动的方法有助于减少不确定性,提高决策的准确性。 团队协作: 复杂的问题通常需要多个人的协同努力。方案提供了一个共同的框架,帮助团队成员理解各自的职责和任务,促进协作并确保整个团队朝着共同的目标努力。 监控与评估: 方案通常包括监控和评估的机制,以确保实施的有效性。通过定期的评估,可以及时调整方案,以适应变化的环境或新的挑战。 总体而言,方案的作用在于提供一种有序、有计划的方法,以解决问题、实现目标,并在实施过程中最大化资源利用和风险管理。
资源推荐
资源详情
资源评论
收起资源包目录
计算图片相似度的多种解决方案.zip (9个子文件)
SJT-code
pHash.py 3KB
app.py 1KB
histogram.py 1KB
aHash.py 874B
img2.jpg 27KB
img1.jpg 30KB
.gitignore 1KB
README.md 2KB
dHash.py 883B
共 9 条
- 1
资源评论
JJJ69
- 粉丝: 6030
- 资源: 5613
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功