运行环境:windows7及以上x64、 安装了Tesseract-OCR工具、安装了jTessBoxEditorFX训练工具

python

1、首先,用批处理代码美化一下窗口界面

2、第二步,选择指令的运行模式,请选择操作项目:

3、找到要爬取的网站的验证码网址,粘贴到echo driver.get('【网站验证码网址】')>>getCodeFormLLSQ.py中

4、完成后,把代码开始和代码结束中的内容复制,粘贴到文本文件中,然后把文本文件改名为“字符训练.bat”就可以了

5、在当前文件所在目录,按下Shift + 鼠标右键,选择【在此处打开cmd窗口】,输入指令“start 字符训练.bat”,按照提示进行操作就可以了。

代码

//代码开始

@echo off

::窗口标题

title 窗口标题

::改变背景色、文字颜色

color 0A

::改变窗口大小

mode con cols=80 lines=25

echo 欢迎使用jTessBoxEditorFX训练Tesseract-OCR教程

:main

echo 请选择操作项目:

echo 1. 进入字库训练模式;

echo 2. 进入新字库测试模式;

set /p input=请输入数字1或2:

if "%input%"=="1" goto A

if "%input%"=="2" goto B

:A

echo 按任意键进入第1步&pause>nul

echo=

echo 1.批量获取要登录网站的验证码,可以用Python来爬取

echo 以下为爬取某某网站网站验证码的Python代码,

echo 注意事项:

echo (1)爬取前需要安装好webdriver、pytesseract,根据提示,缺少什么就安装什么

echo (2)使用webdriver.Firefox()时,需要安装Firefox即火狐浏览器

echo (3)需要下载geckodriver.exe对应Python的版本,并且复制到Python37安装的根目录

echo=

echo 2.完成以上操作后,按任意键开始在当前目录%~pd0生成名字为getCodeFormLLSQ.py的文件&pause>nul

echo from selenium import webdriver>getCodeFormLLSQ.py

echo from PIL import Image>>getCodeFormLLSQ.py

echo import pytesseract>>getCodeFormLLSQ.py

echo=>>getCodeFormLLSQ.py

echo driver=webdriver.Firefox()>>getCodeFormLLSQ.py

echo driver.get('网站验证码网址')>>getCodeFormLLSQ.py

echo driver.implicitly_wait(10)>>getCodeFormLLSQ.py

echo=>>getCodeFormLLSQ.py

echo for i in range(0,100):>>getCodeFormLLSQ.py

echo driver.find_element_by_id('imgCheckCode').click()>>getCodeFormLLSQ.py

echo driver.save_screenshot(r'%~pd0codefile\code_full.png')>>getCodeFormLLSQ.py

echo href=driver.find_element_by_xpath('//*[@id="imgCheckCode"]')>>getCodeFormLLSQ.py

echo left = href.location['x']>>getCodeFormLLSQ.py

echo top = href.location['y']>>getCodeFormLLSQ.py

echo elementWidth = href.location['x'] + href.size['width']>>getCodeFormLLSQ.py

echo elementHeight = href.location['y'] + href.size['height']>>getCodeFormLLSQ.py

echo picture = Image.open(r'%~pd0codefile\code_full.png')>>getCodeFormLLSQ.py

echo picture = picture.crop((left, top, elementWidth, elementHeight))>>getCodeFormLLSQ.py

echo picture.save(r'%~pd0codefile\\'+str(i)+'.png')>>getCodeFormLLSQ.py

echo 已经在当前目录%~pd0生成getCodeFormLLSQ.py文件,可根据需要自行修改

echo=

echo 3.按任意键开始执行getCodeFormLLSQ.py批量获取网站验证码到%~pd0codefile\目录下&pause>nul

mkdir codefile

python getCodeFormLLSQ.py

echo 验证码获取完成,请到%~pd0codefile\目录查看

echo=

echo 4.请使用jTessBoxEditorFX将爬取的验证码合并到一个tif格式的文件中,命名格式为ec.ufont.exp0.tif&pause>nul

echo=

echo 5.按任意键开始执行指令生成.box文件&pause>nul

:tesseract ec.ufont.exp0.tif ec.ufont.exp0 batch.nochop makebox(默认字库)

tesseract ec.ufont.exp0.tif ec.ufont.exp0 -l @toss batch.nochop makebox

echo 6.请使用jTessBoxEditorFX对字库进行修正并保存&pause>nul

echo=

echo 7.按任意键开始产生字符特征文件 ec.ufont.exp0.tr文件&pause>nul

:tesseract ec.ufont.exp0.tif ec.ufont.exp0 -psm 7 nobatch box.train

tesseract ec.ufont.exp0.tif ec.ufont.exp0 nobatch box.train

echo=

echo 8.按任意键开始计算字符集(生成unicharset文件)&pause>nul

unicharset_extractor ec.ufont.exp0.box

echo=

echo 9.按任意键开始生成名称为font_properties的字体特征文件&pause>nul

echo ufont 0 0 0 0 0 >font_properties

echo=

echo 10.按任意键开始聚集字符特征,生成shapetable文件&pause>nul

shapeclustering -F font_properties -U unicharset ec.ufont.exp0.tr

echo=

echo 11.按任意键开始聚集字符特征,生成inttemp和pffmtable文件&pause>nul

mftraining -F font_properties -U unicharset -O unicharset ec.ufont.exp0.tr

echo=

echo 12.按任意键开始聚集字符特征,生成normproto文件&pause>nul

cntraining ec.ufont.exp0.tr

echo=

echo 13.按任意键开始给字符特征文件的名字加上@toss.前缀&pause>nul

rename unicharset @toss.unicharset

rename inttemp @toss.inttemp

rename pffmtable @toss.pffmtable

rename shapetable @toss.shapetable

rename normproto @toss.normproto

echo=

echo 14.按任意键开始生成自定义字库@toss&pause>nul

combine_tessdata @toss.

echo=

echo 15.请手动复制该字库到环境变量“TESSDATA_PREFIX”对应的目录中&pause>nul

goto mian

:B

echo=

echo 16.使用%~pd0codefile\目录下的图片进行测试

set /p i="请输入用于测试字库的图片编号:"

tesseract .\codefile\%i%.png out -l @toss

start codefile\%i%.png

for /f %%j in (out.txt) do echo %%j

goto B

rem tesseract也提出,通过使用多个语言训练库联合使用。如此,新的字体训练库也可以与原有的数据训练库联合使用。

rem 如参数 -l 之后 tesseract input.tif output -l eng+newfont。

//代码结束

GitHub 加速计划 / te / tesseract
19
3
下载
tesseract-ocr/tesseract: 是一个开源的光学字符识别(OCR)引擎,适用于从图像中提取和识别文本。特点是可以识别多种语言,具有较高的识别准确率,并且支持命令行和API调用。
最近提交(Master分支:5 个月前 )
014b9d00 - 1 个月前
13c966b7 - 1 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐