⑴ 使用python 製作對比圖片相似度的程序
用pll可以處理圖片,至於怎麼處理請你去看征服python的多媒體編程,授人與魚不如授人與漁
⑵ python中是否有用於計算兩個字元串相似度的函數
linux環境下,沒有首先安裝python_Levenshtein,用法如下:
重點介紹幾個該包中的幾個計算字串相似度的幾個函數實現。
1. Levenshtein.hamming(str1, str2)
計算漢明距離。要求str1和str2必須長度一致。是描述兩個等長字串之間對應位置上不同字元的個數。如
2. Levenshtein.distance(str1, str2)
計算編輯距離(也成Levenshtein距離)。是描述由一個字串轉化成另一個字串最少的操作次數,在其中的操作包括插入、刪除、替換。如
演算法實現 參考動態規劃整理:http://www.cnblogs.com/kaituorensheng/archive/2013/05/15/3080990.html。
3. Levenshtein.ratio(str1, str2)
計算萊文斯坦比。計算公式 r = (sum - ldist) / sum, 其中sum是指str1 和 str2 字串的長度總和,ldist是類編輯距離
注意:這里的類編輯距離不是2中所說的編輯距離,2中三種操作中每個操作+1,而在此處,刪除、插入依然+1,但是替換+2
這樣設計的目的:ratio('a', 'c'),sum=2,按2中計算為(2-1)/2 = 0.5,』a','c'沒有重合,顯然不合算,但是替換操作+2,就可以解決這個問題。
4. Levenshtein.jaro(s1, s2)
計算jaro距離,
其中的m為s1, s2的匹配長度,當某位置的認為匹配 當該位置字元相同,或者在不超過
t是調換次數的一半
5. Levenshtein.jaro_winkler(s1, s2)
計算Jaro–Winkler距離
⑶ python有包能判斷圖片相似度嗎
安裝python-Levenshtein模塊
pip install python-Levenshtein
使用python-Levenshtein模塊
import Levenshtein!
⑷ python有沒有什麼包能判斷文本相似度
安裝python-Levenshtein模塊
pip install python-Levenshtein
使用python-Levenshtein模塊
import Levenshtein
演算法說明
1). Levenshtein.hamming(str1, str2)
計算漢明距離。要求str1和str2必須長度一致。是描述兩個等長字串之間對應 位置上不同字元的個數。
2). Levenshtein.distance(str1, str2)
計算編輯距離(也稱為 Levenshtein距離)。是描述由一個字串轉化成另一個字串最少的操作次數,在其中的操作包括插入、刪除、替換。
演算法實現參考動態規劃整理。
3). Levenshtein.ratio(str1, str2)
計算萊文斯坦比。計算公式r = (sum - ldist) / sum, 其中sum是指str1 和 str2 字串的長度總和,ldist是 類編輯距離
注意 :這里的類編輯距離不是2中所說的編輯距離,2中三種操作中每個操作+1,而在此處,刪除、插入依然+1,但是替換+2
這樣設計的目的:ratio('a', 'c'),sum=2, 按2中計算為(2-1)/2 = 0.5,』a','c'沒有重合,顯然不合算,但是替換操作+2,就可以解決這個問題。
4). Levenshtein.jaro(s1 , s2 )
計算jaro距離,
其中的 m 為s1 , s2的匹配長度,當某位置的認為匹配當該位置字元相同,或者在不超過
t是調換次數的一半
5.) Levenshtein.jaro_winkler(s 1 , s 2 )
計算 Jaro–Winkler距離:
⑸ 使用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 difflib 相似度多大就算相似
這里是類(class)的用法。在類的定義當中,所有的變數都要用成self.xxx這樣的,xxx是變數名稱。這個意思就是,在vector這個類當中的diff這個變數。這個的作用就跟一個變數的作用是一樣的,不過這是在類裡面。
⑺ python 計算每行之間的餘弦相似性
比如你在a.py的文件中定義了一個test(x,y)函數,在shell中調用的時候from a import testtest(x,y)
⑻ 如何使用python計算兩張圖片的相似度
圖片在計算機里都是三維數組,你可以轉化為比較這兩個數組的相似度,方法就比較多了
⑼ 如何使用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)+'%'