AD

Tesseract验证码识别

0x01 概述

       Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。项目地址:https://github.com/tesseract-ocr  截至发文时,最新版本是20163月发布的3.04.01
      

0x02关于

整体结构

       Tesseract包含两个主要部分,一个是OCR识别引擎(libtesseract),一个是命令行工具(tesseract)。
       Tesseract现在已经支持unicodeUTF-8),并且可以输出多种格式,例如明文、pdfhtml等。
       在使用其他识别语言时,需要做字库。
       现在支持TIFjpgwebf等多种格式。

0x03安装

下载

Tesseract 的下载可以参考https://github.com/tesseract-ocr/tesseract/wiki/Downloads 现在没有官方的Windows版本,有第三方制作的Windows版本。

安装

       解决至一个工作目录,并且下载对应语言包。
       将语言包解压放置于\tessdata目录下。

0x03使用细节

基础命令:

tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfiles...]

tesseract 图片名 输出文件名 -l 字库文件 -psm pagesegmode 配置文件
字库文件扩展名为 .raineddata
简体中文字库文件名为: chi_sim.traineddata
-psm 7 表示告诉tesseract 要识别的对象是一行文本,这个参数可以减少识别错误率,默认为 3
configfile 参数值为tessdata\configs tessdata\tessconfigs 目录下的文件名

完整命令

u  tesseract imagename|stdin outputbase|stdout [options...] [configfile...]
Ø  imagename:图片的名称/图片的路径
Ø  stdin:从标准输入获取要识别对象
Ø  outputbase:输出地址
Ø  stdout:将结果输出值标准输出

u  --tessdata-dir /path
指定字库文件的路径
u  --user-words /path/to/file
       指定用户字典/字库的位置  
u  --user-patterns /path/to/file
       指定用户识别模式文件的位置
u  -l lang[+lang]
       设置OCR识别使用那些语言,可以使用‘+’多选
u  -c configvar=value
       设置控制参数的值,可以设置多个-c
u  -psm pagesegmode
       设置页面分割模式,默认为3
Ø  0:只适用OSD进行定位和检测
Ø  1:使用OSD进行自动化页面风格
Ø  2:自动分割页面,但不使用OSD,或者OCR
Ø  3:全自动分割页面,不使用OSD
Ø  4:一列可变大小的文本
Ø  5:一个垂直对齐的文本块
Ø  6:一个均匀的文本块
Ø  7:将图片视作一个单行的文本
Ø  8:将图片视作一个文字/一篇文章
Ø  9:将图片视作带圆圈的文本
Ø  10:将图片视作一个单独的字符
u  --print-parameters
Ø  打印tesseract的参数到标准输出中

0x04其他

3.0版本以上才支持识别中文



评论

此博客中的热门博文

简单粗暴导出小米便签

我——终于一个人了

多种方法绕过POWERSHELL的执行策略