OCR(Optical Character Recognition):光学字符识别,是指对图片文件中的文字进行分析识别,获取的过程。 Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后经由Google进行改进,消除bug,优化,重新发布。当前版本为3.01. 项目地址为:http://code.google.com/p/tesseract-ocr Windows 命令行使用Tesseract-OCR引擎识别验证码: 1、下载安装Tesseract-OCR引擎(3.0版本+才支持中文识别) tesseract-ocr-setup-3.01-1.exe 下载完后进行安装,默认情况下安装程序会给你配置系统环境变量,以指向安装目录(之后可以通过DOS界面在任意目录运行tesseract)。安装完成后目录如下: ![]() 附录: tessdata 目录存放的是语言字库文件,和在命令行界面中可能用到的参数所对应的文件. 这个安装程序默认包含了英文字库。 如果想能识别中文,可以到http://code.google.com/p/tesseract-ocr/downloads/list下载对应的语言的字库文件. 简体中文字库文件下载地址为:http://tesseract-ocr.googlecode.com/files/chi_sim.traineddata.gz 下载完成后解压,然后将该文件剪切到tessdata目录下去就可以了。 2、使用Tessract-OCR引擎识别验证码 打开DOS界面,输入tesseract: ![]() 如果出现如上输出,表示安装正常。 我准备了一张验证码code.jpg放在D盘根目录下 ![]() ![]() 结果为: ![]() 附录: Usage:tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...] pagesegmode values are: 0 = Orientation and script detection (OSD) only. 1 = Automatic page segmentation with OSD. 2 = Automatic page segmentation, but no OSD, or OCR 3 = Fully automatic page segmentation, but no OSD. (Default) 4 = Assume a single column of text of variable sizes. 5 = Assume a single uniform block of vertically aligned text. 6 = Assume a single uniform block of text. 7 = Treat the image as a single text line. 8 = Treat the image as a single word. 9 = Treat the image as a single word in a circle. 10 = Treat the image as a single character. -l lang and/or -psm pagesegmode must occur before anyconfigfile. tesseract imagename outputbase [-l lang] [-psm pagesegmode] [configfile...] tesseract 图片名 输出文件名 -l 字库文件 -psd pagesegmode 配置文件 例如: tesseract code.jpg result -l chi_sim -psd 7 nobatch -l chi_sim 表示用简体中文字库(需要下载中文字库文件,解压后,存放到tessdata目录下去,字库文件扩展名为 .raineddata 简体中文字库文件名为: chi_sim.traineddata) -psd 7 表示告诉tesseract code.jpg图片是一行文本 这个参数可以减少识别错误率. 默认为 3 configfile 参数值为tessdata\configs 和 tessdata\tessconfigs 目录下的文件名 |