图片相似度

_

概述

今天在用一个软件清理手机时,看到了一个比较好的功能:相似图片删除。软件识别出相册中类似的图片,删除相似图片,进而释放手机存储。

上网查了这个功能的基本实现算法,有挺多算法求图片相似度的,常见的有均值哈希算法、差值感知算法、感知哈希算法、单通道直方图等等,网上有具体实现的算法,此处我只演示单通道直方图。

本推文提到的所有图片均拍摄于武汉市。祝福武汉,祝福湖北,祝福中国。

项目总述

导入一个已知图片,计算各个图片与已知图片的相似度,并输出相似度。

具体计算策略为:导入图片、计算图片的直方图、图片归一化处理、利用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、直方图展示

python相册图片处理_Python实现图片相似度计算相关推荐

  1. python显示图片列表_python读取图片任意范围区域

    使用python进行图片处理,现在需要读出图片的任意一块区域,并将其转化为一维数组,方便后续卷积操作的使用. 下面使用两种方法进行处理: convert 函数 from PIL import Imag ...

  2. python处理pdf实例_Python程序图片和pdf上文字识别实例

    实例一:先减少背景杂音,再做图片文字识别 为了提高识别率,先用opencv-python对扫描的图片做预处理(减少背景杂音),然后调用pytesseract识别图片上的文字.处理方式就是: 学习Pyt ...

  3. python获取视频缩略图_python接收图片变成缩略图

    python图像处理库:Pillow初级教程 Image类 Image.resize()和Image.thumbnail()的区别 根据代码和代码注释, 这两个函数都是对图片进行缩放, 两者的主要区别 ...

  4. python图像灰度化_python实现图片二值化及灰度处理方式

    python实现图片二值化及灰度处理方式 我就废话不多说了,直接上代码吧! 集成环境:win10 pycharm #!/usr/bin/env python3.5.2 # -*- coding: ut ...

  5. python读取图片格式_Python读取图片尺寸、图片格式

    Python读取图片尺寸.图片格式 需要用到PIL模块,使用pip安装Pillow.Pillow是从PIL fork过来的Python 图片库. from PIL import Image im = ...

  6. 用python字符画生日快乐_Python:图片转字符画(~情人节神器~)

    字符画真的很有意思,将图片中的像素用字符代替,就生成了字符画. 但是像素是有颜色深浅的,我们如何将带有不同颜色的像素编码为对应的字符呢? 转化方法: 将彩色图片转化为灰度图 根据颜色深浅的RGB值(值 ...

  7. Python简单实现基于VSM的余弦相似度计算

    在知识图谱构建阶段的实体对齐和属性值决策.判断一篇文章是否是你喜欢的文章.比较两篇文章的相似性等实例中,都涉及到了向量空间模型(Vector Space Model,简称VSM)和余弦相似度计算相关知 ...

  8. python图片马赛克_python 检测图片是否有马赛克

    原理讲的很清晰,给原博主一个赞 边缘检测之后按照正方形检索来判定是否是马赛克内容 原理知晓了之后就很好做了 话说MATLAB转化为python的过程还是很有趣的 from PIL import Ima ...

  9. python 素描化图像_python实现图片素描效果

    代码如下: from PIL import Image #图像处理模块 import numpy as np a = np.asarray(Image.open("这里是原图片的路径&quo ...

最新文章

  1. js代码收集(1)_隐藏div、table间隔样式设置
  2. html标签 对word2vec,自然语言学习——使用word2vec对文本进行情感分析
  3. bashrc文件中环境变量配置错误,导致linux命令无法正常使用的解决方案
  4. 不冲突的端口范围_网络中IP地址发生冲突故障怎么办
  5. Mask R-CNN抢车位,快人一步!
  6. pandas显示全部数据内容_vue项目,当鼠标移入时文本长度超出才显示全部内容
  7. PyQt+QtDesigner及相关插件的安装和设置
  8. app上传遇到的一些问题
  9. 2018 KubeCon + CloudNativeCon成功召开
  10. java流 视频_java如何对视频文件处理?包括拉流推流视频截取等?
  11. java在文本框动态显示时间,在文本框中动态地显示当前时间,有木有人做过,指导下初学者...
  12. 原生JavaScript实现五子棋(直接上代码干货点赞收藏拿走)
  13. 鼠标悬停出现遮罩或图片放大效果
  14. 什么叫版面_什么叫版面字数
  15. Android App接入支付功能——支付宝支付
  16. 在WIN7下使用VB6.0
  17. [转]网站整合Ucenter详细流程
  18. torch把存放tensor的整个list都转为tensor ValueError}only one element tensors can be converted to Python scal
  19. 10个可爱的外国互动型网站
  20. html中link的rel属性,HTML link rel 属性解释

热门文章

  1. 什么是vuex?vuex的工作流程?
  2. [翻译] 禁用双GPU笔记本电脑的独显 Disabling discrete graphics in dual-GPU laptops
  3. 【硬刚大数据】大数据同步工具之FlinkCDC/Canal/Debezium对比
  4. 应用程序连接不到mysql_Docker无法将应用程序连接到MySQL
  5. 利用阿里云ECS服务器构建Docker公有仓库
  6. shell中的数组详解
  7. 支付宝wap端支付php对接_支付宝WAP端的支付配置教程
  8. java计算机毕业设计果之芒农场销售系统(附源码、数据库)
  9. 开源视频播放器Video.js介绍
  10. python语言写视频播放器-python_十几行代码实现简单播放器