最近公司让我做文字串识别,通过查阅资料,谷歌的开源框架 tesseract-ocr可以帮助我们进行识别图像,文字等等,tesseract可以识别多种语言(一些常用的语言),多种图片格式,非常强大。
首先体验一下tesseract的强大功能,先安装 tesseract_ocr ,下载地址为http://code.google.com/p/tesseract-ocr/,请务必下载3.0.1版本,我前面下的最新3.0.2版本,生成字符特征命令不能通过,最后勉强解决了,生成的字典识别出来的都是空字符
安装完成之后 看下根目录
tessdata文件夹主要存放字典文件,只要把字典文件放进去,就可以用tesseract 识别相关语言的文字
现在先来识别一张图片
把他放入任意一个文件夹,cmd 命令cd到图片放置的目录,然后执行
tesseract 1.jpg 1
可以看到文件夹下 生成了一个txt文本,发现识别的效果并不是很理想。为啥呢,因为我所用的这个图片中的字有所变形,我们的图片和 tesseract 存在的 字做匹配,找相近的,但是字典中没有这种变形的字体,自然识别容易出错,为了 提高识别率,所以我们需要 训练一套 字体来提高识别率
训练 字库还需要一个工具jTessBoxEditor,下载地址为 http://sourceforge.net/projects/vietocr/files/jTessBoxEditor/
现在我们来实战一下,首先要生成一个 .tif 的图片集,我们使用