光学字符识别软件tesseract-ocr
Tesseract是一个可以将图片转换成文字的OCR(Optical Character Recognition)软件,支持包括中文简繁体的多种语言,简单易用,可以用来识别验证码。让我们来看一看吧。
安装
Tesseract只是一个小应用程序,在mac里直接安装就好啦:
下面是张包含了一些英文的图片:
把图片保存到本地之后,使用以下命令将其转成文字:
可以看到,对于正常字体来说,粗体、斜体、大小字号等的识别率还是很不错的。如果是手写体的字体,识别率将会严重下降。
中文
Tesseract支持多种语言,不过除了英语以外,都必须先下载语言数据:
从后缀名traineddata可以看出来,tesseract是可以通过训练来提高识别率的。网上有许多教程,有兴趣的朋友可以自行尝试。下面是张包含了一些中文的图片:
把图片保存到本地之后,使用以下命令将其转成文字:
毕竟汉字内容多,这回没有英文识别率那么高了,想要更加实用可能需要更多训练和校对。
输出
很简单,在tesseract
命令的最后面加上pdf
就好了:
输入
虽然tesseract不能直接处理PDF,但是借助ImageMagick和Ghostscript可以轻松地把PDF转换成图片文件:
这里的100表示DPI,%04d
表示分页储存。有了图片之后就可以用tesseract随意操作啦。