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