博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用Python进行两张图片比较
阅读量:6223 次
发布时间:2019-06-21

本文共 1936 字,大约阅读时间需要 6 分钟。

环境准备:

Python 2.7 or Python 3

需要安装的包

pytesseract

pytesser Pillow

达成目标

比较两张图片是不是一个图片

如何运行

python file.py复制代码

代码如下

#!C:/Python27 & Python3  #coding=utf-8 # 1. pip install pillow# 2. pip install pytesseract# 3. pip install pytesser# Run: python comporePicture.py import pytesseract  from pytesser import *  from PIL import Image,ImageEnhance,ImageFilter  import os  import fnmatch  import re,time    import urllib, random    #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)  #比较100个字符有几个字符相同 def getMH(a,b):     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() '''  #图片地址自行替换bijiaotupian = ".//picture//kangshifu01.jpg"openfile = ".//picture"a=getImgHash(bijiaotupian)  #被打开的文件夹中的图片files = os.listdir(openfile)#图片文件夹地址自行替换  for file in files:     b=getImgHash(".//picture//"+str(file))     compare=getMH(a,b)     print(file,u'相似度',str(compare)+'%')      #    if compare >= 90:#        print(file,u'相似度',str(compare)+'%')#    else:#        pass复制代码

转载于:https://juejin.im/post/5c90ee736fb9a071061ef5ee

你可能感兴趣的文章
微服务架构的优势与不足(一)
查看>>
分布式服务治理框架Dubbo
查看>>
小程序好的ui框架选择
查看>>
今天学习了
查看>>
Tomcat安装、配置、优化及负载均衡详解
查看>>
虹软人脸识别SDK(java+linux/window) 初试
查看>>
ppwjs之bootstrap文字排版:到标题元素
查看>>
为了解「鼠语」华盛顿大学开发DeepSqueak深度学习软件
查看>>
jQuery-ajax
查看>>
Xcode WorkSpace含静态库多项目依赖编译
查看>>
jQueryTimers
查看>>
#奇思妙想#头脑风暴馆
查看>>
OSChina 周六乱弹 —— 这是别人家的台风福利
查看>>
org.glassfish.jersey.message.internal.MessageBodyProviderNotFoundException
查看>>
iOS 实现一个截图分享的功能
查看>>
molicode生成工程代码实战
查看>>
Hessian学习
查看>>
虚地址到物理地址的转换过程
查看>>
为什么SQL Server函数isdate与cast同时使用报错?
查看>>
Jafka源码粗略解读之一
查看>>