验证码处理之后就需要对处理的验证码进行识别训练,这里用Tesseract-ocr工具进行识别,用jTessBoxeditor进行训练生成模板。

一,对图片进行处理

利用上一篇代码对图片进行降噪处理,得到较为清晰地图片。

这里需要你在需要登入的网站中提取大量的验证码图片,在获取图片时,查看网站的登入框是否在iframe标签中,已经图片是否有需要点击输入框才会出现,若是如此,可以用selenium中driver来跳转iframe标签,用点击事件来显示验证码,然后再获取src属性进行下载。

二,生成tif文件

在获取一定数量验证码后(储存在images中),打开jTessBoxeditor,Tools>Merge TIFF

选择之前保存图片的文件,shift将文件全选,注意文件显示的格式

之后选择生成fift路径以及设置名称此处名称要设置为这样的格式[lang].[fontname].exp[num].tif

其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。

三,生成box文件

这样遍将多个jpg文件合成一个tif文件(可能显示的是一个验证码),然后我们需要利用tif文件来生成box文件。

再打开jTessBoxEditor(如果之前有其他好点的模板就选择其他的,这样自动识别的会多一点,省之后的人力)。

这一步之后就会在 tif 文件目录下生成一个box文件,在jTessBoxEditor中打开(如图 ↓ )

aaarticlea/png;base64,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" alt="" />

四,调整位置

如果模板较好的话会出现这样的文件(也许位置可能没有识别的这么准,那个就需要人工调节,记得保存,下面可以翻页)

也有可能是这样

如果是这样的话,你需要用文本方式打开box文件(六列分别对应,值,位置*4,页码值-1),我们需要创建的1~7页的那四行,随便找四行复制一下,然后改一下页码,没有框的几个验证码有了,然后再调整位置。(注意最后的一列为  页码数-1 )

在调整完所有验证码后,在tif文件目录下建立一个新建名为下xxx.font_properties的文本文件(xxx与自定义语言名称相同)内容为 font 0 0 0 0 0
之后再去txt后缀

五,训练

这样 tif,box,font_properties文件都有了,就可以生成模板了

训练完之后就在tif文件下生成了tessdata文件夹,里面便是训练完成模板mob.traineddata,将模板移动到Tesseract—ocr>tessdata目录下,这样便可以用Tesseract-ocr识别验证码

from PIL import Image
from pytesseract import *
from fnmatch import fnmatch
from queue import Queue
import matplotlib.pyplot as plt
import cv2
import time
import os def clear_border(img,img_name):
'''去除边框
''' h, w = img.shape[:2]
for y in range(0, w):
for x in range(0, h):
# if y ==0 or y == w -1 or y == w - 2:
if y < 4 or y > w -4:
img[x, y] = 255
# if x == 0 or x == h - 1 or x == h - 2:
if x < 4 or x > h - 4:
img[x, y] = 255 return img def interference_line(img, img_name):
'''
干扰线降噪
''' h, w = img.shape[:2]
# !!!opencv矩阵点是反的
# img[1,2] 1:图片的高度,2:图片的宽度
for r in range(0,2):
for y in range(1, w - 1):
for x in range(1, h - 1):
count = 0
if img[x, y - 1] > 245:
count = count + 1
if img[x, y + 1] > 245:
count = count + 1
if img[x - 1, y] > 245:
count = count + 1
if img[x + 1, y] > 245:
count = count + 1
if count > 2:
img[x, y] = 255 return img def interference_point(img,img_name, x = 0, y = 0):
"""点降噪
9邻域框,以当前点为中心的田字框,黑点个数
:param x:
:param y:
:return:
"""
# todo 判断图片的长宽度下限
cur_pixel = img[x,y]# 当前像素点的值
height,width = img.shape[:2] for y in range(0, width - 1):
for x in range(0, height - 1):
if y == 0: # 第一行
if x == 0: # 左上顶点,4邻域
# 中心点旁边3个点
sum = int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x + 1, y]) \
+ int(img[x + 1, y + 1])
if sum <= 2 * 245:
img[x, y] = 0
elif x == height - 1: # 右上顶点
sum = int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x - 1, y]) \
+ int(img[x - 1, y + 1])
if sum <= 2 * 245:
img[x, y] = 0
else: # 最上非顶点,6邻域
sum = int(img[x - 1, y]) \
+ int(img[x - 1, y + 1]) \
+ int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x + 1, y]) \
+ int(img[x + 1, y + 1])
if sum <= 3 * 245:
img[x, y] = 0
elif y == width - 1: # 最下面一行
if x == 0: # 左下顶点
# 中心点旁边3个点
sum = int(cur_pixel) \
+ int(img[x + 1, y]) \
+ int(img[x + 1, y - 1]) \
+ int(img[x, y - 1])
if sum <= 2 * 245:
img[x, y] = 0
elif x == height - 1: # 右下顶点
sum = int(cur_pixel) \
+ int(img[x, y - 1]) \
+ int(img[x - 1, y]) \
+ int(img[x - 1, y - 1]) if sum <= 2 * 245:
img[x, y] = 0
else: # 最下非顶点,6邻域
sum = int(cur_pixel) \
+ int(img[x - 1, y]) \
+ int(img[x + 1, y]) \
+ int(img[x, y - 1]) \
+ int(img[x - 1, y - 1]) \
+ int(img[x + 1, y - 1])
if sum <= 3 * 245:
img[x, y] = 0
else: # y不在边界
if x == 0: # 左边非顶点
sum = int(img[x, y - 1]) \
+ int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x + 1, y - 1]) \
+ int(img[x + 1, y]) \
+ int(img[x + 1, y + 1]) if sum <= 3 * 245:
img[x, y] = 0
elif x == height - 1: # 右边非顶点
sum = int(img[x, y - 1]) \
+ int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x - 1, y - 1]) \
+ int(img[x - 1, y]) \
+ int(img[x - 1, y + 1]) if sum <= 3 * 245:
img[x, y] = 0
else: # 具备9领域条件的
sum = int(img[x - 1, y - 1]) \
+ int(img[x - 1, y]) \
+ int(img[x - 1, y + 1]) \
+ int(img[x, y - 1]) \
+ int(cur_pixel) \
+ int(img[x, y + 1]) \
+ int(img[x + 1, y - 1]) \
+ int(img[x + 1, y]) \
+ int(img[x + 1, y + 1])
if sum <= 4 * 245:
img[x, y] = 0 return img def _get_dynamic_binary_image(filedir,img_name):
'''
自适应阀值二值化
'''
filename = './easy_code/' + img_name.split('.')[0] + '-binary.jpg'
img_name = filedir + '/' + img_name
im = cv2.imread(img_name)
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) th1 = cv2.adaptiveThreshold(im, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 21, 1) return th1 def recognize():
i = 0
filedir = './images' #验证码路jing
for file in os.listdir(filedir):
if fnmatch(file, '*.jpg'):
img_name = file
# 自适应阈值二值化
im = _get_dynamic_binary_image(filedir,img_name)
# 去除边框
im = clear_border(im,img_name)
# 对图片进行干扰线降噪
im = interference_line(im,img_name)
# 对图片进行点降噪
im = interference_point(im,img_name)
# easy_code为图片清理后保存路径
filename = './easy_code/' + img_name.split('.')[0] + '-interferencePoint.jpg'
cv2.imwrite(filename,im)
# 'mob'为模板
str_img = pytesseract.image_to_string(im, lang='mob')
code = str_img.encode("GBK","ignore").decode('GBK')
if code.replace(' ','') == img_name.split('.')[0]:
i = i + 1
print(code)
print('---' + str(i))
recognize()
from PIL import Image
from pytesseract import *
from fnmatch import fnmatch
from queue import Queue
import matplotlib.pyplot as plt
import cv2
import time
import os def clear_border(img,img_name):
'''去除边框
''' h, w = img.shape[:]
for y in range(, w):
for x in range(, h):
# if y == or y == w - or y == w - :
if y < or y > w -:
img[x, y] =
# if x == or x == h - or x == h - :
if x < or x > h - :
img[x, y] = return img def interference_line(img, img_name):
'''
干扰线降噪
''' h, w = img.shape[:]
# !!!opencv矩阵点是反的
# img[,] :图片的高度,:图片的宽度
for r in range(,):
for y in range(, w - ):
for x in range(, h - ):
count =
if img[x, y - ] > :
count = count +
if img[x, y + ] > :
count = count +
if img[x - , y] > :
count = count +
if img[x + , y] > :
count = count +
if count > :
img[x, y] = return img def interference_point(img,img_name, x = , y = ):
"""点降噪
9邻域框,以当前点为中心的田字框,黑点个数
:param x:
:param y:
:return:
"""
# todo 判断图片的长宽度下限
cur_pixel = img[x,y]# 当前像素点的值
height,width = img.shape[:] for y in range(, width - ):
for x in range(, height - ):
if y == : # 第一行
if x == : # 左上顶点,4邻域
# 中心点旁边3个点
sum = int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x + , y]) \
+ int(img[x + , y + ])
if sum <= * :
img[x, y] =
elif x == height - : # 右上顶点
sum = int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x - , y]) \
+ int(img[x - , y + ])
if sum <= * :
img[x, y] =
else: # 最上非顶点,6邻域
sum = int(img[x - , y]) \
+ int(img[x - , y + ]) \
+ int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x + , y]) \
+ int(img[x + , y + ])
if sum <= * :
img[x, y] =
elif y == width - : # 最下面一行
if x == : # 左下顶点
# 中心点旁边3个点
sum = int(cur_pixel) \
+ int(img[x + , y]) \
+ int(img[x + , y - ]) \
+ int(img[x, y - ])
if sum <= * :
img[x, y] =
elif x == height - : # 右下顶点
sum = int(cur_pixel) \
+ int(img[x, y - ]) \
+ int(img[x - , y]) \
+ int(img[x - , y - ]) if sum <= * :
img[x, y] =
else: # 最下非顶点,6邻域
sum = int(cur_pixel) \
+ int(img[x - , y]) \
+ int(img[x + , y]) \
+ int(img[x, y - ]) \
+ int(img[x - , y - ]) \
+ int(img[x + , y - ])
if sum <= * :
img[x, y] =
else: # y不在边界
if x == : # 左边非顶点
sum = int(img[x, y - ]) \
+ int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x + , y - ]) \
+ int(img[x + , y]) \
+ int(img[x + , y + ]) if sum <= * :
img[x, y] =
elif x == height - : # 右边非顶点
sum = int(img[x, y - ]) \
+ int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x - , y - ]) \
+ int(img[x - , y]) \
+ int(img[x - , y + ]) if sum <= * :
img[x, y] =
else: # 具备9领域条件的
sum = int(img[x - , y - ]) \
+ int(img[x - , y]) \
+ int(img[x - , y + ]) \
+ int(img[x, y - ]) \
+ int(cur_pixel) \
+ int(img[x, y + ]) \
+ int(img[x + , y - ]) \
+ int(img[x + , y]) \
+ int(img[x + , y + ])
if sum <= * :
img[x, y] = return img def _get_dynamic_binary_image(filedir,img_name):
'''
自适应阀值二值化
'''
filename = './easy_code/' + img_name.split('.')[] + '-binary.jpg'
img_name = filedir + '/' + img_name
im = cv2.imread(img_name)
im = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY) th1 = cv2.adaptiveThreshold(im, , cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, , ) return th1 def recognize():
i =
filedir = './images' #验证码路jing
for file in os.listdir(filedir):
if fnmatch(file, '*.jpg'):
img_name = file
# 自适应阈值二值化
im = _get_dynamic_binary_image(filedir,img_name)
# 去除边框
im = clear_border(im,img_name)
# 对图片进行干扰线降噪
im = interference_line(im,img_name)
# 对图片进行点降噪
im = interference_point(im,img_name)
# easy_code为图片清理后保存路径
filename = './easy_code/' + img_name.split('.')[] + '-interferencePoint.jpg'
cv2.imwrite(filename,im)
# 'mob'为模板
str_img = pytesseract.image_to_string(im, lang='mob')
code = str_img.encode("GBK","ignore").decode('GBK')
if code.replace('

查阅过的博客:

  《Python Tesseract识别验证码》:https://blog.csdn.net/u011457798/article/details/84063963

  《使用Tesseract破解验证码并训练字库的方法》:https://blog.csdn.net/makesibushuohua/article/details/52058310

Python爬虫笔记【一】模拟用户访问之Tesseract-ocr验证码训练(5)的更多相关文章

  1. python爬虫笔记之用cookie访问需要登录的网站

     目标:用cookie访问一个需要登录的网站 如图,直接访问会跳转到登录页面,提示登录. 运行结果: 直接在浏览器上输入该url,网站立马跳转到登录页面.  方法: 1.先手动登录,通过抓包获取coo ...

  2. Python爬虫笔记【一】模拟用户访问之设置请求头 (1)

    学习的课本为<python网络数据采集>,大部分代码来此此书. 网络爬虫爬取数据首先就是要有爬取的权限,没有爬取的权限再好的代码也不能运行.所以首先要伪装自己的爬虫,让爬虫不像爬虫而是像人 ...

  3. python爬虫笔记Day01

    python爬虫笔记第一天 Requests库的安装 先在cmd中pip install requests 再打开Python IDM写入import requests 完成requests在.py文 ...

  4. [Python爬虫笔记][随意找个博客入门(一)]

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  5. Python爬虫笔记一(来自MOOC) Requests库入门

    Python爬虫笔记一(来自MOOC) 提示:本文是我在中国大学MOOC里面自学以及敲的一部分代码,纯一个记录文,如果刚好有人也是看的这个课,方便搬运在自己电脑上运行. 课程为:北京理工大学-嵩天-P ...

  6. Python之路,Day22 - 网站用户访问质量分析监测分析项目开发

    Python之路,Day22 - 网站用户访问质量分析监测分析项目开发   做此项目前请先阅读 http://3060674.blog.51cto.com/3050674/1439129  项目实战之 ...

  7. Django商城项目笔记No.4用户部分-注册接口-图片验证码

    Django商城项目笔记No.4用户部分-注册接口-图片验证码 1.首先分析注册业务接口 1.1.分析可得,至少这么几个接口 图片验证码 短信验证码 用户名是否存在 手机号是否存在 整体注册接口 图片 ...

  8. python爬虫scrapy框架——人工识别登录知乎倒立文字验证码和数字英文验证码(2)

    操作环境:python3 在上一文中python爬虫scrapy框架--人工识别知乎登录知乎倒立文字验证码和数字英文验证码(1)我们已经介绍了用Requests库来登录知乎,本文如果看不懂可以先看之前 ...

  9. Python爬虫笔记(一):爬虫基本入门

    最近在做一个项目,这个项目需要使用网络爬虫从特定网站上爬取数据,于是乎,我打算写一个爬虫系列的文章,与大家分享如何编写一个爬虫.这是这个项目的第一篇文章,这次就简单介绍一下Python爬虫,后面根据项 ...

随机推荐

  1. shell常用命令及正则辅助日志分析统计

    https://www.cnblogs.com/wj033/p/3451618.html 正则日志分析统计 3 grep 'onerror'  v3-0621.log | egrep  -v '(\d ...

  2. 无法启动此程序,因此计算机中丢失VCRUNTIME140.dll。

    在mysql-8.0.12-winx64创建data文件夹 在cmd终端 初始化 MYSQL: mysqld --initialize-insecure MySQL加入Windows服务:mysqld ...

  3. springboot启动器:spring-boot-starter

    今天想要导入thymeleaf的依赖,但是又不想从其他博复制粘贴,于是去spring官方文档找一找 在idea新建的springbootweb项目中,有一个HELP.md文件,里面包含spring w ...

  4. Django高级实战 开发企业级问答网站✍✍✍

    Django高级实战 开发企业级问答网站 1. 创建项目与app 创建项目 django-admin startproject firstsite 创建app python manage.py sta ...

  5. 【牛客Wannafly挑战赛12】小H和圣诞树

    题目 可以考虑边分治,对于某一种颜色,我们处理出分治边左右两边所有以这个颜色为端点的路径长度,之后随便拼一拼就好了 但是这样对于每一组询问都需要边分一遍,这样做复杂度是\(O(nm+n\log n)\ ...

  6. Spring AspectJ 切入点语法详解(7)

    1.Spring AOP支持的AspectJ切入点指示符 切入点指示符用来指示切入点表达式目的,,在Spring AOP中目前只有执行方法这一个连接点,Spring AOP支持的AspectJ切入点指 ...

  7. Nginx 教程 1:基本概念

    简介 我们会告诉你 Nginx 是如何工作的,其背后的概念有哪些,以及如何优化它以提升应用程序的性能.还会告诉你如何安装,如何启动.运行. 这个教程包括三节: 基础概念——你可以了解命令(direct ...

  8. iOS逆向系列-Cycript

    概述 Cycript 是Objective-C++.ES(JavaScript).Java等语法的混合物. 可以用来探索.修改.调试正在运行的Mac\iOS App. 通过Cydia安装Cycript ...

  9. 在js中使用Razor

    @foreach (var tem in Model) { <text> time.push("@tem.CreateTime.ToString("G")&q ...

  10. Android开发 ShapeDrawable详解

    前言 ShapeDrawable一开始我以为它是对应xml文件属性里的shape的画图,后来发现我错了... 其实ShapeDrawable更像是一共自由度更大跟偏向与实现draw()方法的一共图像绘 ...