效果图


相似度/字符

识别的图片:

代码

from PIL import Image
import hashlib
import time
import os
import mathclass VectorCompare: # 向量比较类def magnitude(self,concordance): # 计算向量长度total = 0for word,count in concordance.items():total += count ** 2return math.sqrt(total)def relation(self,concordance1, concordance2):#求两个向量的关系值?协。relevance = 0topvalue = 0for word, count in concordance1.items():if word in concordance2:topvalue += count * concordance2[word]return topvalue / (self.magnitude(concordance1) * self.magnitude(concordance2))def buildvector(im): # 创建向量d1 = {}count = 0for i in im.getdata():d1[count] = icount += 1 #计数值return d1
# 返回类型是一个字典
v = VectorCompare()
# 图标集
iconset =  ['0','1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
# 图片集
imageset = []for letter in iconset:for img in os.listdir('./iconset/%s/'%(letter)):temp = []if img != "Thumbs.db" and img != ".DS_Store": # 找到目录inconset下的样例图片temp.append(buildvector(Image.open("./iconset/%s/%s"%(letter,img)))) #将图片转化为向量存给tempimageset.append({letter:temp})  # 将图片集合加入 字母和样例的集合im = Image.open("captcha.gif") #打开我们要检测的图片
im2 = Image.new("P",im.size,255) #使用p模式打开,色彩255
im.convert("P") # 将im的模式转换位P
temp = {} #暂存空间for x in range(im.size[1]): # 宽度for y in range(im.size[0]): # 高度pix = im.getpixel((y,x)) #获取像素存到字典中temp[pix] = pix # ?if pix == 220 or pix == 227: # these are the numbers to getim2.putpixel((y,x),0) # im2导入inletter = False
foundletter=False
start = 0
end = 0letters = []for y in range(im2.size[0]): # slice acrossfor x in range(im2.size[1]): # slice downpix = im2.getpixel((y,x))if pix != 255:inletter = Truebreakif foundletter == False and inletter == True:foundletter = Truestart = yif foundletter == True and inletter == False:foundletter = Falseend = yletters.append((start,end))inletter=Falsecount = 0
for letter in letters:im3 = im2.crop(( letter[0] , 0, letter[1],im2.size[1] ))guess = []for image in imageset:for x,y in image.items():if len(y) != 0:guess.append( ( v.relation(y[0],buildvector(im3)),x) )guess.sort(reverse=True)print (guess[0])count += 1

Python 识别图片字符相关推荐

  1. python识别图片文字_如何利用Python识别图片中的文字

    一.前言 不知道大家有没有遇到过这样的问题,就是在某个软件或者某个网页里面有一篇文章,你非常喜欢,但是不能复制.或者像百度文档一样,只能复制一部分,这个时候我们就会选择截图保存.但是当我们想用到里面的 ...

  2. python识别图片指定位置文字_python批量识别图片指定区域文字内容

    Python批量识别图片指定区域文字内容,供大家参考,具体内容如下 简介 对于一张图片,需求识别指定区域的内容 1.截取原始图上的指定图片当做模板 2.根据模板相似度去再原始图片上识别准确坐标 3.根 ...

  3. 教程 | 用Python识别图片验证码中的文字

    作者 | 老表 来源 | 简说Python(ID:xksnh888xksnh888) [导语]在今天这篇文章中,作者分享给大家一个有趣又干货满满的 Python 项目.通过这份教程,大家不仅又多了一个 ...

  4. 【日常折腾】Python识别图片文字并对图片改名

    1.前言 接到一个任务,将图片格式的专利的命名改为专利名称,效果如下. 2. 前期准备 安装openCV以及tesseract插件,tesseract插件需要设置为中文,推荐直接在PyCharm平台使 ...

  5. python 识别图片链接尺寸大小

    识别图片链接尺寸大小 # 封面链接 url = "https://ci.xiaohongshu.com/5b8597c2-23ea-36ef-7340-c3ee59da9b3b?imageV ...

  6. python识别图片上的文字_python识别图片文字

    因为学校要求要刷一门叫<包装世界>的网课,而课程里有200多道选择题,而且只能在手机完成,网页版无法做题,而看视频是不可能看视频的,这辈子都不可能看...所以写了几行代码来进行百度搜答案. ...

  7. php 图片路径混淆,爬虫遇到了字符图片混淆。pytesseract识别图片字符

    本帖最后由 打字的小强 于 2020-6-11 14:05 编辑 最近爬虫遇到了字符图片混淆的反爬.如图所示,文字和图片混在一起,需要对图片进行识别,图片很小,这时候我就想到了pytesseract, ...

  8. python 识别图形验证码_python爬虫20 | 小帅b教你如何用python识别图片验证码

    当你在爬取某些网站的时候 对于你的一些频繁请求 对方会阻碍你 常见的方式就是使用验证码 验证码的主要功能 就是区分你是人还是鬼(机器人) 人 想法设法的搞一些手段来对付技术 而 技术又能对付人们的想法 ...

  9. python爬虫20 | 小帅b教你如何使用python识别图片验证码

    当你在爬取某些网站的时候 对于你的一些频繁请求 对方会阻碍你 常见的方式就是使用验证码 验证码的主要功能 就是区分你是人还是鬼(机器人) 人 想法设法的搞一些手段来对付技术 而 技术又能对付人们的想法 ...

最新文章

  1. [转]wxODBC(wxWidgets)中使用驱动程序方式打开数据库
  2. 不要指望未来科学的发展会改变元素周期表的形式
  3. jQuery之validate验证表单
  4. Lanecat网猫的延伸使用
  5. [EF4] CompiledQuery预编译性能提升 + 数据载入之大彻大悟
  6. 计算机组成 指令扩展,计算机组成原理课程设计--指令扩展设计.doc
  7. Linux Centos7安装hadoop3.x安装流程(跪舔文)
  8. 制作旋转led_LED用蓝宝石衬底及加工工艺!
  9. python在线作业_南开大学20春学期《Python编程基础》在线作业参考答案
  10. ios 数组中的字典排序_利用数组和字典,实现按指定规则的排序
  11. 基于JAVA+Servlet+JSP+MYSQL的物流管理系统
  12. 关于vue2用vue-cli搭建环境后域名代理的http-proxy-middleware解决api接口跨域问题
  13. Gephi实战教程:从零开始
  14. xrd连续扫描和步进扫描_材料分析测试技术实验报告
  15. 联想员工亲历联想大裁员:公司不是我的家
  16. Python尝试爬取同花顺A股行情
  17. 使用余弦相似度算法计算文本相似度
  18. 解决定时器导致页面卡顿、卡死的问题
  19. 【IOS】最简单方式实现跑马灯文字效果
  20. 中达优控一体屏台达程序,包含中达优控屏程序

热门文章

  1. matlab中ode45用法,ode45(ode45用法举例)
  2. STM32L475 SPI驱动LCD ST7789V2详解
  3. SAP中会计凭证数据表关系的简单验证
  4. 笔记本win10正在更新怎么关闭计算机,教你win10如何关闭自动更新
  5. js循环/迭代/遍历有多少方法
  6. error: failed to push some refs to ‘xx.git‘ hint: Updates were rejected because the tip of your curr
  7. html调用一言api,纯 JavaScript 实现网站一言功能
  8. 远控免杀专题(9)-Avet免杀(VT免杀率14/71)
  9. JSP中使用EL表达式
  10. 怎么使用XCode给iOS手机安装测试包