转自: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识别验证码——一般的数字加字母验证码识别相关推荐

  1. python信用卡识别_python opencv实现信用卡的数字识别

    本项目利用python以及opencv实现信用卡的数字识别 前期准备 导入工具包 定义功能函数 模板图像处理 读取模板图像 cv2.imread(img) 灰度化处理 cv2.cvtColor(img ...

  2. python发票二维码条码识别_Python zxing 库解析(条形码二维码识别)

    各种扫码软件 最近要做个二维码识别的项目,查到二维码识别有好多开源的不开源的软件 http://www.oschina.net/project/tag/238/ Zbar 首先试了一下Zbar,pyt ...

  3. python调用百度接口实现ocr识别_Python 3调用百度OCR API实现剪贴板文字识别

    本程序调用百度OCR API对剪贴板的图片文字识别,配合CaptureScreen软件,可快速识别文字. #!python3 import urllib.request, urllib.parse i ...

  4. python随机生成列表_python 实现快速生成连续、随机字母列表

    0.摘要 本文介绍了生成连续和随机字母表的方法,用于快速生成大量字母数据. 主要使用chr()函数,将数字通过ASCII表转换为相应字母. 1.chr() 函数 chr() 用一个范围在 range( ...

  5. opencv 人脸识别_Python学习:基于Opencv来快速实现人脸识别(完整版)

    随着人工智能的日益火热,计算机视觉领域发展迅速,尤其在人脸识别或物体检测方向更为广泛,今天就为大家带来最基础的人脸识别基础,从一个个函数开始走进这个奥妙的世界. 首先看一下本实验需要的数据集,为了简便 ...

  6. python数字转字符串_python如何将字符转换为数字

    int(x [,base ])         将x转换为一个整数 long(x [,base ])        将x转换为一个长整数 float(x )             将x转换到一个浮点 ...

  7. python writerow 返回值_python – .writerow()csv返回一个数字而不是写行

    我正在使用Python 3测试一些非常简单的代码.出于某种原因,下面的代码生成一个空输出,而不是写一行 import csv output = open('hello world.csv', 'w', ...

  8. 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)  ...

  9. python汉字拼音查询_python获取一组汉字的拼音首字母

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. #!/usr/bin/env python # -*- coding: utf-8 -*- ...

最新文章

  1. Spring AOP源码分析(八)SpringAOP要注意的地方
  2. C语言自学《四》---- 循 环
  3. Win7 64位的SSDTHOOK(2)---64位SSDT hook的实现
  4. Java 设计模式之单例模式
  5. 10 行 Python 代码,批量压缩图片 500 张,简直太强大了
  6. 计算二叉树叶子节点的数目
  7. windows监控txt写入_Windows的bug们
  8. android音乐进度条设计代码,【Android】Android开发实现进度条效果,SeekBar的简单使用。音量,音乐播放进度,视频播放进度等...
  9. jquery+ajax验证不通过也提交表单问题处理
  10. Oracle行转列实例
  11. 【mysql日常】Centos安装Mysql客户端
  12. vulhub Tomcat8漏洞复现
  13. Widedeep模型详解
  14. 从鹿晗关晓彤恋情事件看运维的节假日准备工作
  15. 支付宝与微信对账文件解析
  16. 微信热搜 API数据接口
  17. android 2k 屏幕 字体模糊,2k显示器怎么会字体模糊
  18. Dictionary(字典)
  19. 12[红+绿+蓝+Alpha]
  20. DNS系统概述及重要性

热门文章

  1. 参数估计-矩估计和极大似然估计概述
  2. 用matlab编程求矩阵的极大无关组,向量组极大无关组表示问题
  3. 科普文——拉卡拉支付是什么?
  4. Python request请求指定ip的域名
  5. 【银行业务】名词解释
  6. 【DL】第8章 序列到序列的映射
  7. proteus VSM常见问题
  8. win10 安装 vs2019 报错 4.7.2 netfreamwork
  9. 法宣在线积分小程序python学满指定分钟数自动关闭
  10. 计算机科学与技术专业大几分流,关于2019级计算机大类专业分流实施细则及分流专业名额的公示...