文章目录
  1. 1. 安装
  2. 2. 中文
  3. 3. PDF
    1. 3.1. 输出
    2. 3.2. 输入

Tesseract是一个可以将图片转换成文字的OCR(Optical Character Recognition)软件,支持包括中文简繁体的多种语言,简单易用,可以用来识别验证码。让我们来看一看吧。

安装

Tesseract只是一个小应用程序,在mac里直接安装就好啦:

1
brew install tesseract

下面是张包含了一些英文的图片:

把图片保存到本地之后,使用以下命令将其转成文字:

1
2
tesseract ~/Downloads/test.png out
cat out.txt

可以看到,对于正常字体来说,粗体、斜体、大小字号等的识别率还是很不错的。如果是手写体的字体,识别率将会严重下降。

中文

Tesseract支持多种语言,不过除了英语以外,都必须先下载语言数据:

1
2
wget -c https://github.com/tesseract-ocr/tessdata/blob/master/chi_sim.traineddata?raw=true
mv chi_sim.traineddata\?raw\=true /usr/local/Cellar/tesseract/3.04.00/share/tessdata/chi_sim.traineddata

从后缀名traineddata可以看出来,tesseract是可以通过训练来提高识别率的。网上有许多教程,有兴趣的朋友可以自行尝试。下面是张包含了一些中文的图片:

把图片保存到本地之后,使用以下命令将其转成文字:

1
2
3
4
tesseract ~/Downloads/testcn.png out -l chi_sim
cat out.txt
tesseract ~/Downloads/testcn.png out -l eng+chi_sim
cat out.txt

毕竟汉字内容多,这回没有英文识别率那么高了,想要更加实用可能需要更多训练和校对。

PDF

输出

很简单,在tesseract命令的最后面加上pdf就好了:

1
2
tesseract ~/Downloads/test.png out pdf
open out.pdf

输入

虽然tesseract不能直接处理PDF,但是借助ImageMagickGhostscript可以轻松地把PDF转换成图片文件:

1
2
3
brew install imagemagick
brew install ghostscript
convert -density 100 -trim input.pdf output%04d.jpg

这里的100表示DPI,%04d表示分页储存。有了图片之后就可以用tesseract随意操作啦。

文章目录
  1. 1. 安装
  2. 2. 中文
  3. 3. PDF
    1. 3.1. 输出
    2. 3.2. 输入