Python实现图片相似度计算
2020-12-29 20:28
1056 查看
图片相似度
_
概述
今天在用一个软件清理手机时,看到了一个比较好的功能:相似图片删除。软件识别出相册中类似的图片,删除相似图片,进而释放手机存储。
上网查了这个功能的基本实现算法,有挺多算法求图片相似度的,常见的有均值哈希算法、差值感知算法、感知哈希算法、单通道直方图等等,网上有具体实现的算法,此处我只演示单通道直方图。
本推文提到的所有图片均拍摄于武汉市。祝福武汉,祝福湖北,祝福中国。
项目总述
导入一个已知图片,计算各个图片与已知图片的相似度,并输出相似度。
具体计算策略为:导入图片、计算图片的直方图、图片归一化处理、利用compareHist()进行比较相似度。
最后打印相似度,然后输出直方图值,其中图像的x轴是指的图片的0~255之间的像素变化,y轴指的是在这0~255像素所占的比列。
_
项目实现
1、导入图片
# 读取函数,用来读取文件夹中的所有函数,输入参数是文件名 def read_directory(directory_name): for filename in os.listdir(directory_name): strDic = directory_name + "//" + filename imageList.append(strDic)
2、图片处理
# 读取函数,用来读取文件夹中的所有函数,输入参数是文件名 def read_directory(directory_name): for filename in os.listdir(directory_name): strDic = directory_name + "//" + filename imageList.append(strDic)
3、打印结果
for i in range(0, len(similar)): print(similar[i]) lab = 'img' + str(i) plt.plot(pilex[i], label=lab) _
结果展示
1、相似度结果
2、相似图片(相似度0.89)
3、直方图展示
相关文章推荐
- 适合新手入门的8个Python项目
- Python网站开发怎么学(9个练习项目)
- 数据可视化有什么好的Python项目?
- 【热荐】必须推荐的7个Python深度学习项目
- Python 利用argparse模块实现脚本命令行参数解析
- Python 基于lxml.etree实现xpath查找HTML元素
- 每日一道python面试题 - Python的函数参数传递
- 每天一道 python 面试题 - Python中的元类(metaclass)
- 每天一道 python 面试题 - Python中的元类(metaclass) 详细版本
- 每日一道python面试题 - Python的实例,类和静态方法揭秘
- [Python] iupdatable包:Timer 类使用介绍
- 用 Python 给微信头像加个圣诞老人(平安果)小图标
- 使用Python进行科学计算:NumPy入门
- 恭喜你获得了这本Python入门书
- 码农男友用 Python 写了个机器人,租到了让女友满意的房子
- 如何用 Python 制作 GIF 动图?
- 基于Python的接口自动化-Requests模块
- 【转载】python实现dubbo接口的调用
- Python发送多人邮件报错
- Python实现自动刷抖音