This time I will show you how to use python to determine the image similarity. What are the notes for using python to determine the image similarity, as follows: This is a practical case, let’s take a look at it.
python A very simple example of judging the similarity of images. It is just an example and the accuracy may not be very high. Mainly introduce the principle: first convert the picture to a 12x12 pixel grayscale picture--get the average grayscale of the picture--traverse the 10x10 pixels inside the picture (remove the surrounding 1 pixel)--compare each pixel with the average value
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)+'%'
Size--If it is large, then string add 1, otherwise add 0 (I choose string saving here, in fact there are many methods)--The next step is traverse the pictures in the folder , compare the similarity, and return the similarity
I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the PHP Chinese website!
Related reading:
Simple bubble and two-way bubble sorting case
Javascript used to download images Script
Simple jQuery click water ripple animation example
The above is the detailed content of How to use python to determine image similarity. For more information, please follow other related articles on the PHP Chinese website!