本文实例讲述了Python2比较当前图片跟图库哪个图片相似的方法。分享给大家供大家参考,具体如下:
# - * -编码:utf - 8 - * “‘ 创建 司机=webdriver.Chrome () driver.implicitly_wait (10) driver.maximize_window () driver.get (url) 睡眠(2) driver.save_screenshot (“E:/测试/das.png”) p1=r说:/测试/das1.png ' p2=r说:/测试/das2.png ' p3=r说:/测试/das3.png ' p4=r说:/测试/das4.png ' 元素=driver.find_element_by_id (“imgcode”) 左=element.location [' x '] 顶级=element.location [y] 正确的=元素。位置[x] + element.size(“宽度”) 底=元素。位置[y] + element.size(“高度”) im1=Image.open (r说:/测试/das.png”) im1=im1。作物((左,上,右,下) im1.save (r E:/测试/dascode.png) img=Image.open (“E:/测试/dascode.png”) 裁剪=img。作物((0,0,25岁,30)#(左,上,右,下) cropped.save (p1) 裁剪=img。作物((25日0 50 30)#(左,上,右,下) cropped.save (p2) 裁剪=img。作物((50 0,75年,30)#(左,上,右,下) cropped.save (p3) 裁剪=img。作物((75、0、96、30))#(左,上,右,下) cropped.save (p4) def getGray (image_file): tmpls=[] 对h范围(0,image_file.size [1]): # h w的范围(0,image_file.size [0]): # w tmpls。追加(image_file.getpixel ((w h))) 返回tmpls def getAvg (ls): #获取平均灰度值 返回总和(ls)/len (ls) def aHash (fne): image_file=Image.open (fne) #打开 image_file=image_file.resize((35岁,35))#重置图片大小我12 px X 12 px image_file=image_file.convert (“L”) #转256灰度图 Grayls=getGray (image_file) #灰度集合 avg=getAvg (Grayls) #灰度平均值 bitls=" #接收获取0或1 h的范围(1,image_file.size [1] 1): # h w的范围(1,image_file.size [0] 1): # w 如果image_file.getpixel ((w h))在=avg: #像素的值比较平均值大于记为1小于记为0 bitls=bitls + ' 1 ' 其他: bitls=bitls + ' 0 ' 返回bitls def getMH (i1、i2): 一个=aHash (i1) b=aHash (i2) dist=0; 因为我在范围(0,len (a)): 如果一个[我]==b[我]: dist=dist + 1 返回dist rootdir def匹配():=os.listdir列表(rootdir) 李=[] 因为我在列表: re=getMH (a, rootdir + " + i) li.append(重新) b=str (li.index (max(李))+ 1)=li.index (max(李) 返回列表b[一].split (“。”) [0]=匹配(“E:/测试/das4.png”、“E:/测试/pic4”) 打印一个 >之前另附参考的
# - * -编码:utf - 8 - * “‘ 创建 p2=" pic5/das2.png” p3=" pic5/das3.png” p4=" pic5/das4.png” dir1=" pic1 " dir2=" pic2 " dir3=" pic3 " dir4=" pic4 " 裁剪=img。作物((0,0,25岁,30)#(左,上,右,下) cropped.save (p1) 裁剪=img。作物((25日0 50 30)#(左,上,右,下) cropped.save (p2) 裁剪=img。作物((50 0,75年,30)#(左,上,右,下) cropped.save (p3) 裁剪=img。作物((75、0、96、30))#(左,上,右,下) cropped.save (p4) dir1 re1=match2 (p1) dir2 re2公司=match2 (p2) dir3 re3=match2 (p3) dir4 re4=match2 (p4) 打印dic [re1] 打印dic (re2公司) 打印dic [re3] 打印dic [re4] 返回dic [re1], dic re2公司,迪拜国际资本(re3),迪拜国际资本(re4) >之前更多关于Python相关内容感兴趣的读者可查看本站专题:《Python图片操作技巧总结》,《Python数据结构与算法教程》、《Python套接字编程技巧总结》,《Python函数使用技巧总结》,《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
Python2比较当前图片跟图库哪个图片相似的方法示例