如何使用python来判断图片相似度
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何使用python来判断图片相似度,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1838字,纯文字阅读大概需要3分钟。
内容图文
这次给大家带来如何使用python来判断图片相似度,使用python来判断图片相似度的注意事项有哪些,下面就是实战案例,一起来看一下。python 判断图片相似度一个十分简单的示例,只是个例子,精度可能不是很高。主要介绍一下原理:先将图片转为 12x12像素的灰度图片--获取图片平均灰度--遍历图片内部10x10像素(去掉周围1像素)--比较每一个像素与平均值
from PIL import Image import os #import hashlib def getGray(image_file): tmpls=[] for h in range(0, image_file.size[1]):#h for w in range(0, image_file.size[0]):#w tmpls.append( image_file.getpixel((w,h)) ) return tmpls def getAvg(ls):#获取平均灰度值 return sum(ls)/len(ls) def getMH(a,b):#比较100个字符有几个字符相同 dist = 0; for i in range(0,len(a)): if a[i]==b[i]: dist=dist+1 return dist def getImgHash(fne): image_file = Image.open(fne) # 打开 image_file=image_file.resize((12, 12))#重置图片大小我12px X 12px image_file=image_file.convert("L")#转256灰度图 Grayls=getGray(image_file)#灰度集合 avg=getAvg(Grayls)#灰度平均值 bitls=''#接收获取0或1 #除去变宽1px遍历像素 for h in range(1, image_file.size[1]-1):#h for w in range(1, image_file.size[0]-1):#w if image_file.getpixel((w,h))>=avg:#像素的值比较平均值 大于记为1 小于记为0 bitls=bitls+'1' else: bitls=bitls+'0' return bitls ''' m2 = hashlib.md5() m2.update(bitls) print m2.hexdigest(),bitls return m2.hexdigest() ''' a=getImgHash("./Test/测试图片.jpg")#图片地址自行替换 files = os.listdir("./Test")#图片文件夹地址自行替换 for file in files: b=getImgHash("./Test/"+str(file)) compare=getMH(a,b) print file,u'相似度',str(compare)+'%'
大小--如果大则字符串加1不然加0(这里我选用字符串保存,其实方法很多的)--接下去就是遍历文件夹中图片了,比较相似度,返回相似度了
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
相关阅读:
简单的冒泡以及双向冒泡排序案列
用来下载图片的javascript脚本
简单的jQuery点击水纹波动动画示例
以上就是如何使用python来判断图片相似度的详细内容,更多请关注Gxl网其它相关文章!
内容总结
以上是互联网集市为您收集整理的如何使用python来判断图片相似度全部内容,希望文章能够帮你解决如何使用python来判断图片相似度所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。