1.准备验证码图片

 import os
from urllib.request import urlretrieve urlPath='http://www.189.cn/portal/captcha/simple.do?date=1503125232339'
localPath='G:\python_work\chapter11\captcha' # 根据文件名创建文件
def createFileByFileName(localPath,fileName):
if not os.path.exists(localPath):
os.makedirs(localPath)
totalPath=localPath+'\\'+fileName
if not os.path.exists(totalPath):
file=open(totalPath, 'a+')
file.close()
return totalPath # 根据图片的地址, 下载图片并保存在本地
def getAndSaveImg(imgUrl, filename):
if(len(imgUrl)!=0):
file=filename+'.jpg'
urlretrieve(imgUrl, createFileByFileName(localPath, file)) # 下载图片
i=0
while i<100:
getAndSaveImg(urlPath, str(i))
i=i+1

2.将验证码图片转为灰度图 , 扩展名改为.tif

 import os
from PIL import Image def getFileList(path):
# 返回目录中所有jpg图像的文件名列表
return [os.path.join(path, f) for f in os.listdir(path) if f.endswith('.jpg')] # 批量将图片转为灰度图
def patchConvert(srcPath, destPath):
fileList = getFileList(srcPath)
for file in fileList:
img = Image.open(file).convert('L')
name_ext = getFileNameAndExt(file)
destFile = os.path.join(destPath, name_ext[0]+'.tif')
img.save(destFile) # 获取文件名和扩展名
def getFileNameAndExt(filename):
# 取目录与文件名
(filepath, tempfilename) = os.path.split(filename)
# 取文件名(不带扩展名)和扩展名
(shotname, extension) = os.path.splitext(tempfilename)
return shotname, extension patchConvert('captcha', 'captcha_gray')

3. 后续步骤参考原先的博客:

http://www.cnblogs.com/CoolJayson/p/7395824.html

问题: 生成box文件后, 用jTessBoxEditor修改box文件时, 里面的矩形画的误差较大, 字符个数识别不准确 , 应该如何对矩形进行修改???

用Tesseract训练验证码遇到的问题的更多相关文章

  1. Tesseract训练中文字体识别

    注:目前仅说明windows下的情况 前言 网上已经有大量的tesseract的识别教程,但是主要有两个缺点: 大多数比较老,有部分内容已经不适用. 大部分只是就英文的训练进行探索,很少针对中文的训练 ...

  2. tensorflow训练验证码识别模型

    tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: ...

  3. Tesseract 对验证码的识别原理和实现步骤

    一. Steps: 学习图片库--->处理图片(初步处理)--->校正.学习图片 二. Tesseract: 1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特 ...

  4. Tesseract训练笔记

    [参考] http://www.cnblogs.com/samlin/p/Tesseract-OCR.html https://code.google.com/p/tesseract-ocr/wiki ...

  5. Tesseract训练

    最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.c ...

  6. tesseract 训练

    下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载地址:http://code.google.com/p/tesseract-ocr/d ...

  7. 跟我学算法- tensorflow 卷积神经网络训练验证码

    使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来 ...

  8. tesseract训练手写体

    前面的步骤都一样,从第4步开始 4.使用tesseract生成.box文件: tesseract eng.handwriting.exp0.tif eng.handwriting.exp0 -l en ...

  9. tesseract系列(3) -- tesseract训练

    tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从 ...

随机推荐

  1. league之csv导出

    有的时候当我们导出文件时,如果文件比较小可以使用phpexcel,但是当文件太大时就会遇到很多瓶颈(excel条数限制.导出时间太长等). 这个时候要么使用excel分批次导出,要么就需要使用csv导 ...

  2. 2018acm-icpc青岛站后记

    我要谢谢队友和出题人给了我这一个走出自闭的机会. 继上一个星期徐州因为1分钟的罚时痛失铜牌之后一度茶饭不思,深陷被铜牌支配的恐惧,孤注一掷将宝压到了下一站的青岛上. 幸好拿了银. 给浙大的出题人点赞, ...

  3. jmeter计算身份证校验位

    idcard_no='111111198101017000' ; idcard_no_array = idcard_no.substring(0,17).toCharArray(); int[] c ...

  4. spark常见异常汇总

    spark常见异常汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 温馨提示:   如果开发运行spark出现问题啦,可能需要运维这边做一些调优,也可能是开发那边需要修改代码.到 ...

  5. java io系列23之 BufferedReader(字符缓冲输入流)

    转载请注明出处:http://www.cnblogs.com/skywang12345/p/io_23.html 更多内容请参考:java io系列01之 "目录" Buffere ...

  6. springBoot整合mybatis、jsp 或 HTML

    springBoot整合mybatis.jsp Spring Boot的主要优点: 1:  为所有Spring开发者更快的入门: 2:  开箱即用,提供各种默认配置来简化项目配置: 3:  内嵌式容器 ...

  7. gethostbyname和gethostbyaddr

    一.gethostbyname函数原型 #include <netdb.h> struct hostent *gethostbyname(const char *ghostname); 返 ...

  8. jQuery two way bindings(双向数据绑定插件)

    jQuery two way bindings https://github.com/petersirka/jquery.bindings 这是一个简单的jQuery双向绑定库. 此插件将HTML元素 ...

  9. [译]Domain Events Pattern Example

    原文 完整源码 本文展示的是一个关于网上调查的项目.想象下,当用户完成了一个调查,我们想通知所有人调查已经结束,分配一个人去检查调用问卷. 领域对象 public class Survey { pub ...

  10. bzoj 1531 Bank notes 多重背包/单调队列

    多重背包二进制优化终于写了一次,注意j的边界条件啊,疯狂RE(还是自己太菜了啊啊)最辣的辣鸡 #include<bits/stdc++.h> using namespace std; in ...