用Tesseract训练验证码遇到的问题

1.准备验证码图片

 1 import os
 2 from urllib.request import urlretrieve
 3
 4 urlPath=‘http://www.189.cn/portal/captcha/simple.do?date=1503125232339‘
 5 localPath=‘G:\python_work\chapter11\captcha‘
 6
 7 # 根据文件名创建文件
 8 def createFileByFileName(localPath,fileName):
 9     if not os.path.exists(localPath):
10         os.makedirs(localPath)
11     totalPath=localPath+‘\\‘+fileName
12     if not os.path.exists(totalPath):
13         file=open(totalPath, ‘a+‘)
14         file.close()
15         return totalPath
16
17 # 根据图片的地址, 下载图片并保存在本地
18 def getAndSaveImg(imgUrl, filename):
19     if(len(imgUrl)!=0):
20         file=filename+‘.jpg‘
21         urlretrieve(imgUrl, createFileByFileName(localPath, file))
22
23 # 下载图片
24 i=0
25 while i<100:
26     getAndSaveImg(urlPath, str(i))
27     i=i+1

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

 1 import os
 2 from PIL import Image
 3
 4 def getFileList(path):
 5     # 返回目录中所有jpg图像的文件名列表
 6     return [os.path.join(path, f) for f in os.listdir(path) if f.endswith(‘.jpg‘)]
 7
 8 # 批量将图片转为灰度图
 9 def patchConvert(srcPath, destPath):
10     fileList = getFileList(srcPath)
11     for file in fileList:
12         img = Image.open(file).convert(‘L‘)
13         name_ext = getFileNameAndExt(file)
14         destFile = os.path.join(destPath, name_ext[0]+‘.tif‘)
15         img.save(destFile)
16
17 # 获取文件名和扩展名
18 def getFileNameAndExt(filename):
19     # 取目录与文件名
20     (filepath, tempfilename) = os.path.split(filename)
21     # 取文件名(不带扩展名)和扩展名
22     (shotname, extension) = os.path.splitext(tempfilename)
23     return shotname, extension
24
25 patchConvert(‘captcha‘, ‘captcha_gray‘)

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

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

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

时间: 2024-11-05 18:44:33

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

Tesseract训练

最近在用Tesseract做一个图片识别的小应用,目标图像只有数字和英文字母,在实际使用过程中发现个别数识别错误,因此不得不研究学习Tesseract的训练. http://www.cnblogs.com/cnlian/p/5765871.html 该链接是重要的参考资料,然则按照文章操作,第二步对box文件进行修正就出现问题:jTessBoxEditor无法正确识别图像. 经过阅读jTessBoxEditor的帮助文档,问题得以解决.其中有一段提到关键点: You will need to p

tesseract 训练

下载chi_sim.traindata字库下载tesseract-ocr-setup-3.02.02.exe 下载地址:http://code.google.com/p/tesseract-ocr/downloads/list下载jTessBoxEditor用于修改box文件下载地址:http://download.csdn.net/detail/a443475601/5896893 里面自带java运行库,安装后 然后启动命令行 java -jar jTessBoxEditor.jar即可打开

Tesseract训练笔记

[参考] http://www.cnblogs.com/samlin/p/Tesseract-OCR.html https://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3 [注意点] 1.生成box时,注意文件名要一致,如要生成 bdi.font.exp0.box文件,tif文件必须命名为 bdi.font.exp0.tif : 2.迭代训练,可以基于已经生成的.traineddata文件,需要把.traineddata文件拷贝

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

使用captcha.image.Image 生成随机验证码,随机生成的验证码为0到9的数字,验证码有4位数字组成,这是一个自己生成验证码,自己不断训练的模型 使用三层卷积层,三层池化层,二层全连接层来进行组合 第一步:定义生成随机验证码图片 number = ['0','1','2','3','4','5','6','7','8','9'] # alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p',

tesseract系列(3) -- tesseract训练

tessract的训练有个工具叫 jTessBoxEditor 1.jTessBoxEditor是用java写的,首先要装java的环境 jdk-8u191-windows-x64.exe 这个我想从官网下载来的,但是一直失败,直接从搞java的同事那里要来的. 装完以后要配置一些环境变量: 系统环境变量  --> path --->新建 然后重启电脑... 2.安装jTessBoxEditor: 下载地址:https://sourceforge.net/projects/vietocr/fi

tesseract图像识别验证码:安装使用和避免坑

安装使用 https://blog.csdn.net/kk185800961/article/details/78747595 避免的坑 http://www.mamicode.com/info-detail-1893993.html 原文地址:https://www.cnblogs.com/andy9468/p/10907671.html

验证码识别 Tesseract的简单使用和总结

Tesseract是什么 OCR即光学字符识别,是指通过电子设备扫描纸上的打印的字符,然后翻译成计算机文字的过程.也就是说通过输入图片,经过识别引擎,去识别图片上的文字.Tesseract是一种适用于各种操作系统的光学字符识别引擎,最早是hp公司的软件,2005年开源,2006年后由google一直赞助Tesseract开发和维护.2006年,Tesseract被认为是当时最准确的开源OCR引擎之一 . 验证码识别类型 这里讨论一般的验证码识别,即英文.数字.或者英文和数字的混合的验证码,不包括

孤荷凌寒自学python第八十四天搭建jTessBoxEditor来训练tesseract模块

(完整学习过程屏幕记录视频地址在文末) 由于本身tesseract模块针对普通的验证码图片的识别率并不高,据说需要进行专门针对具体某一型号的验证码图片的训练才可以,因此今天的学习重点是搭建jTessBoxEditor环境来进行tesseract训练数据的训练和生成. 是完全参照以下博客内容来进行的: https://www.cnblogs.com/zhongtang/p/5555950.html 具体操作过程见文末的操作过程屏幕录像. 在整个训练过程中我的主要感受是: 都说tesseract是基

Tesseract+opencv+VS+win实现OCR

参考网站: http://www.cnblogs.com/wzben/p/5930538.html (第一次) http://wangjunle23.blog.163.com/blog/static/117838171201323031458171/ (分析) http://blog.csdn.net/a443475601/article/details/9854003 (简洁) tesseract训练 命名 为了方便 tif文面命名格式[lang].[fontname].exp[num].ti