用Tesseract训练验证码遇到的问题
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训练验证码遇到的问题的更多相关文章
- Tesseract训练中文字体识别
注:目前仅说明windows下的情况 前言 网上已经有大量的tesseract的识别教程,但是主要有两个缺点: 大多数比较老,有部分内容已经不适用. 大部分只是就英文的训练进行探索,很少针对中文的训练 ...
- tensorflow训练验证码识别模型
tensorflow训练验证码识别模型的样本可以使用captcha生成,captcha在linux中的安装也很简单: pip install captcha 生成验证码: # -*- coding: ...
- Tesseract 对验证码的识别原理和实现步骤
一. Steps: 学习图片库--->处理图片(初步处理)--->校正.学习图片 二. Tesseract: 1. 采集图片库(一般每个出现的字符出现20次左右识别效果比较好),根据图片特 ...
- Tesseract训练笔记
[参考] http://www.cnblogs.com/samlin/p/Tesseract-OCR.html https://code.google.com/p/tesseract-ocr/wiki ...
- Tesseract训练
最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.c ...
- tesseract 训练
下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载地址:http://code.google.com/p/tesseract-ocr/d ...
- 跟我学算法- tensorflow 卷积神经网络训练验证码
使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来 ...
- tesseract训练手写体
前面的步骤都一样,从第4步开始 4.使用tesseract生成.box文件: tesseract eng.handwriting.exp0.tif eng.handwriting.exp0 -l en ...
- tesseract系列(3) -- tesseract训练
tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从 ...
随机推荐
- C# 正则表达式中的顺序环视和逆序环视
环视结构不匹配任何字符,只匹配文本中的特定位置. 顺序环视:从左向右查看文本,尝试匹配子表达式,如果能够匹配则返回匹配成功信息.顺序环视使用「 (?=...) 来标识」,例如「 (?=\d) 」,它表 ...
- diff补丁格式
title: diff补丁格式 tags: 学习 categories: 学习 date: 2018-09-20 21:03:53 --- diff补丁格式 在Uboot学习中,接触到了打补丁这个操作 ...
- Linux记录-salt分析
salt-master建立分组 如dn: 'L@dnxxx,dyyy' salt -N dn state.apply hadoop test=true salt -N dn cmd.run ' ...
- C#设计模式(12)——组合模式
1.组合模式 在软件开发中我们经常会遇到处理部分与整体的情况,如我们经常见到的树形菜单,一个菜单项的子节点可以指向具体的内容,也可以是子菜单.类似的情况还有文件夹,文件夹的下级可以是文件夹也可以是文件 ...
- C语言数据类型的转换(隐式转换)
算术运算符中的转换规则: double ←── float 高↑long↑unsigned↑int ←── char,short 低 注意: 图中横向箭头表示必须的转换,如两个float型数参加运算, ...
- HDU - 5119 Happy Matt Friends(dp)
题目链接 题意:n个数,你可以从中选一些数,也可以不选,选出来的元素的异或和大于m时,则称满足情况.问满足情况的方案数为多少. 分析:本来以为是用什么特殊的数据结构来操作,没想到是dp,还好队友很强. ...
- 使用wget命令下载JDK失败(文件特别小)
问题RT: 我们在网页上下载的时候要点一下 “Accept License Agreement ” ,使用wget下载的时候也需要提交这个 accept,方法如下: wget --no-check-c ...
- 使用keytool自建证书及应用
1. 在密钥库文件 keystore.jks 中生成证书: keytool -genkey -alias cas -keyalg RSA -keypass changeit -storepass ch ...
- C#中属性的使用——主动调用才发挥作用
微软对属性定义如下: “属性是这样的成员:它提供灵活的机制来读取.编写或计算某个私有字段的值. 可以像使用公共数据成员一样使用属性,但实际上它们是称作“访问器”的特殊方法. 这使得可以轻松访问数据,此 ...
- MyBatis简单使用和入门理解
本文记录第一次使用Mybatis时碰到的一些错误和简单理解,采用的示例是Eclipse中的JAVA工程,采用XML文件定义数据库连接. 可以使用Java JDBC API直接操作数据库,但使用框架会更 ...