python数字字母识别_python识别验证码——一般的数字加字母验证码识别
转自:https://www.cnblogs.com/MrRead/p/7656800.html
1、验证码的识别是有针对性的,不同的系统、应用的验证码区别有大有小,只要处理好图片,利用好pytesseract,一般的验证码都可以识别
2、我在识别验证码的路上走了很多弯路,重点应该放在怎么把图片处理成这个样子,方便pytesseract的识别,以提高成功率
3、原图为:
思想过程:
①不要盲目的去直接用代码识别,识别不出来就怀疑代码有问题或者pytesseract不好用:
先将验证码用图片处理工具处理,一步步得到理想图片,记住处理过程,将处理后的图片直接用pytesseract识别,代码如下:
# -*- coding: UTF-8 -*-、
import Image
import pytesseract
im = Image.open('31.png')
aa = pytesseract.image_to_string(out)
print aa
②确定图片可以识别后,开始用代码复现你的图片处理过程
# -*- coding: UTF-8 -*_
from PIL import Image
from pytesseract import *
import PIL.ImageOps
def initTable(threshold=140):
table = []
for i in range(256):
if i < threshold:
table.append(0)
else:
table.append(1)
return table
im = Image.open('31.png')
#图片的处理过程
im = im.convert('L')
binaryImage = im.point(initTable(), '1')
im1 = binaryImage.convert('L')
im2 = PIL.ImageOps.invert(im1)
im3 = im2.convert('1')
im4 = im3.convert('L')
#将图片中字符裁剪保留
box = (30,10,90,28)
region = im4.crop(box)
#将图片字符放大
out = region.resize((120,38))
asd = pytesseract.image_to_string(out)
print asd
print (out.show())
先将图片转换为L模式
然后去噪
反转颜色
将重要部分裁剪放大
输出结果:
python数字字母识别_python识别验证码——一般的数字加字母验证码识别相关推荐
- python信用卡识别_python opencv实现信用卡的数字识别
本项目利用python以及opencv实现信用卡的数字识别 前期准备 导入工具包 定义功能函数 模板图像处理 读取模板图像 cv2.imread(img) 灰度化处理 cv2.cvtColor(img ...
- python发票二维码条码识别_Python zxing 库解析(条形码二维码识别)
各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...
- python调用百度接口实现ocr识别_Python 3调用百度OCR API实现剪贴板文字识别
本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字. #!python3 import urllib.request, urllib.parse i ...
- python随机生成列表_python 实现快速生成连续、随机字母列表
0.摘要 本文介绍了生成连续和随机字母表的方法,用于快速生成大量字母数据. 主要使用chr()函数,将数字通过ASCII表转换为相应字母. 1.chr() 函数 chr() 用一个范围在 range( ...
- opencv 人脸识别_Python学习:基于Opencv来快速实现人脸识别(完整版)
随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界. 首先看一下本实验需要的数据集,为了简便 ...
- python数字转字符串_python如何将字符转换为数字
int(x [,base ]) 将x转换为一个整数 long(x [,base ]) 将x转换为一个长整数 float(x ) 将x转换到一个浮点 ...
- python writerow 返回值_python – .writerow()csv返回一个数字而不是写行
我正在使用Python 3测试一些非常简单的代码.出于某种原因,下面的代码生成一个空输出,而不是写一行 import csv output = open('hello world.csv', 'w', ...
- python英文字符串排序_Python根据内嵌的数字将字符串排序(sort by numbers embedded in strings)...
标签: import re re_digits = re.compile(r'(\d+)') def embedded_numbers(s): pieces = re_digits.split(s) ...
- python汉字拼音查询_python获取一组汉字的拼音首字母
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #!/usr/bin/env python # -*- coding: utf-8 -*- ...
最新文章
- Spring AOP源码分析(八)SpringAOP要注意的地方
- C语言自学《四》---- 循 环
- Win7 64位的SSDTHOOK(2)---64位SSDT hook的实现
- Java 设计模式之单例模式
- 10 行 Python 代码,批量压缩图片 500 张,简直太强大了
- 计算二叉树叶子节点的数目
- windows监控txt写入_Windows的bug们
- android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...
- jquery+ajax验证不通过也提交表单问题处理
- Oracle行转列实例
- 【mysql日常】Centos安装Mysql客户端
- vulhub Tomcat8漏洞复现
- Widedeep模型详解
- 从鹿晗关晓彤恋情事件看运维的节假日准备工作
- 支付宝与微信对账文件解析
- 微信热搜 API数据接口
- android 2k 屏幕 字体模糊,2k显示器怎么会字体模糊
- Dictionary(字典)
- 12[红+绿+蓝+Alpha]
- DNS系统概述及重要性