介绍:
OCR(Optical Character Recognition):光学字符识别,是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程。
Tesseract:开源的OCR识别引擎,初期Tesseract引擎由HP实验室研发,后来贡献给了开源软件业,后由Google进行改进、修改bug、优化,重新发布。
简单来说OCR是一种把图形信息识别为文字的技术,而tesseract是一个开源的OCR工具。
安装:
1.在mac上安装tesseract比较简单,直接在命令行使用brew安装
命令:
brew install tesseract
网上流传的安装tesseract顺带安装训练工具和语言库的命令并不生效,可能是brew或者tesseract的版本不一样。
brew install --with-training-tools tesseract //安装tesseract, 同时安装训练工具
brew install --all-languages tesseract //安装tesseract,同时它还会安装所有语言
brew install --all-languages --with-training-tools tesseract //安装附加组件
2.检查是否安装成功,并查看版本号
命令:
输入:
tesseract -v
输出:
tesseract 4.1.1
leptonica-1.79.0
libgif 5.2.1 : libjpeg 9d : libpng 1.6.37 : libtiff 4.1.0 : zlib 1.2.11 : libwebp 1.1.0 : libopenjp2 2.3.1
Found AVX2
Found AVX
Found FMA
Found SSE
有类似上面的版本信息输出就是安装成功了。
使用:
我们简单的照一张图片试下tesseract的OCR识别功能 找了一张包含了语文两个字的小图片,使用命令。 tesseract的命令格式是:
tesseract imagename outputbase [options...] [configfile...]
tesseract 图片名称 生成的结果文件的名称 参数设置 配置文件
实例1:
输入:
tesseract test.png output
输出:
Tesseract Open Source OCR Engine v4.1.1 with Leptonica
查看结果:
cat output.txt
Bx
输入的文件名是output,tesseract会输出到output.txt的文件里面。默认是使用eng(英语),识别情况看起来不行,输出了一个Bx。 所以需要去下载下中文的数据集,数据集地址,chi_sim就是简体中文了。将下载好的数据集 放入到tesseract的data目录中,mac是类似/usr/local/Cellar/tesseract/4.1.1/share/tessdata。
实例2:
我们在试下用中文的识别
输入:
tesseract 语文.png output -l chi_sim
输出:
Tesseract Open Source OCR Engine v4.1.1 with Leptonica
查看结果:
cat output.txt
语 文
实例3:
查看tesseract当前数据集支持的语言
输入:
tesseract --list-langs
输出:
List of available languages (4):
chi_sim
eng
osd
snum