当前位置:
首页 > Python基础教程 >
-
Python验证码自动识别(6)
切割粘连字符代码:
1
2
3
4
5
6
7
8
9
10
11
12
|
def cutting_img(im,im_position,img,xoffset = 1 ,yoffset = 1 ): filename = './out_img/' + img.split( '.' )[ 0 ] # 识别出的字符个数 im_number = len (im_position[ 1 ]) # 切割字符 for i in range (im_number): im_start_X = im_position[ 1 ][i][ 0 ] - xoffset im_end_X = im_position[ 1 ][i][ 1 ] + xoffset im_start_Y = im_position[ 2 ][i][ 0 ] - yoffset im_end_Y = im_position[ 2 ][i][ 1 ] + yoffset cropped = im[im_start_Y:im_end_Y, im_start_X:im_end_X] cv2.imwrite(filename + '-cutting-' + str (i) + '.jpg' ,cropped) |
效果:
识别
识别用的是typesseract库,主要识别一行字符和单个字符时的参数设置,识别中英文的参数设置,代码很简单就一行,我这里大多是filter文件的操作
代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# 识别验证码 cutting_img_num = 0 for file in os.listdir( './out_img' ): str_img = '' if fnmatch( file , '%s-cutting-*.jpg' % img_name.split( '.' )[ 0 ]): cutting_img_num + = 1 for i in range (cutting_img_num): try : file = './out_img/%s-cutting-%s.jpg' % (img_name.split( '.' )[ 0 ], i) # 识别字符 str_img = str_img + image_to_string(Image. open ( file ),lang = 'eng' , config = '-psm 10' ) #单个字符是10,一行文本是7 except Exception as err: pass print ( '切图:%s' % cutting_img_num) print ( '识别为:%s' % str_img) |
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式