⑴ 如何用python计算上几百张图片之间的相似度
把图片表示成向量,二维拉成一维
每个维度非零即一,然后比较两个向量的汉明距离就能反向代表相似度
⑵ python有没有什么包能判断文本相似度
有,gensim包。
主要分成三步:
第一步,计算所有评论的tf-idf 值。
第二步,使用所有评论的tf-idf 值算出商品描述的tf-idf 值。
第三步,计算每一个评论和商品描述之间的tf-idf 余弦相似度。
可以 在这里找到具体用法:
http://blog.csdn.net/chencheng126/article/details/50070021
⑶ 使用Python 制作对比图片相似度的程序怎么比较
需要使用Python Imaging Library,下代是python2.x的代码:
fromitertoolsimportizip
importImage
i1=Image.open("image1.jpg")
i2=Image.open("image2.jpg")
asserti1.mode==i2.mode,"Differentkindsofimages."
asserti1.size==i2.size,"Differentsizes."
pairs=izip(i1.getdata(),i2.getdata())
iflen(i1.getbands())==1:
#forgray-scalejpegs
dif=sum(abs(p1-p2)forp1,p2inpairs)
else:
dif=sum(abs(c1-c2)forp1,p2inpairsforc1,c2inzip(p1,p2))
ncomponents=i1.size[0]*i1.size[1]*3
print"Difference(percentage):",(dif/255.0*100)/ncomponents
⑷ 使用Python 制作对比图片相似度的程序
用pll可以处理图片,至于怎么处理请你去看征服python的多媒体编程,授人与鱼不如授人与渔
⑸ Python程序的相似度应该如何查询
你说的是代码吗,方法太多了,网上有开源的代码可以测
⑹ 使用Python 制作对比图片相似度的程序怎么比较
就是给出以下几个function的def 越多越好:
1、 red_average(Picture) 算出pic众pixels的平均红值 。
2、scale_red(Picture, int) 调整图片红值 并确保其不超过255 。
3、expand_width(Picture, int) 。
4、rece_width(Picture, int) 放大和缩小宽值 都是乘或者除的 ,distance(Pixel, Pixel) 以红蓝绿值为标准 计算两个pixel之间的距离(类似于xyz坐标轴中两点距离)。
5、simple_difference(Picture,Picture) 简单计算两张图片有多相似 不必考虑长宽。
6、smart_difference(Picture,Picture) 这个方程的步骤需为: 判断图片大小 。如必要 乘除高度 。 如必要 乘除宽度。 调整图片颜色使之相同平均红蓝绿值 。
⑺ 如何使用python来判断图片相似度
from PIL import Imageimport 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)+'%'
⑻ 怎样用python或者是java计算文本相似度
第一步:把每个网页文本分词,成为词包(bag of words)。
第三步:统计网页(文档)总数M。
第三步:统计第一个网页词数N,计算第一个网页第一个词在该网页中出现的次数n,再找出该词在所有文档中出现的次数m。则该词的tf-idf 为:n/N * 1/(m/M) (还有其它的归一化公式,这里是最基本最直观的公式)
第四步:重复第三步,计算出一个网页所有词的tf-idf 值。
第五步:重复第四步,计算出所有网页每个词的tf-idf 值。
3、处理用户查询
第一步:对用户查询进行分词。
第二步:根据网页库(文档)的数据,计算用户查询中每个词的tf-idf 值。
4、相似度的计算
使用余弦相似度来计算用户查询和每个网页之间的夹角。夹角越小,越相似。
⑼ python中怎么实现相似度的计算,比如:中国石油销售有限公司--中国石油金属有限公司,计算他们的相似度
#/usr/bin/envpython3
s1='中国石油销售有限公司'.strip()
s2='中国石油金属有限公司'.strip()
similar=sum([i==jfori,jinzip(s1,s2)])/len(s1)
print('相似度{:.2f}%'.format(similar*100))
[willie@bogon pys]$ python3 similar.py
相似度80.00%
⑽ python 计算文本之间的相似性
把文件读出来,不就是文本了吗,就可以用上你说的比较两个文本的代码了