本文主要是介绍图片识别——Tesseract,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Tesseract是开源的OCR引擎。Tesseract最初设计用于英文识别,经过改进引擎和训练系统,它能够处理其它语言和UTF-8字符。Tesseract 3.0能够处理任何Unicode字符,但并非在所有语言上都工作得很好。Tesseract在庞大字符集语言(比如中文)上较慢,但是工作良好。
识别:
二值化、灰度、倾斜校正和图片(文字)切割
遍历所有像素点,然后二值化【比如判断RGB值小于#FFFFFF的(即非白色)时候标记为1,大于等于#FFFFFF(即白色)的标记为0,存进二维数组】
排版英文,数字,简单验证码
手写的数字,中文识别 等不太好
基本使用方法:
tesseract images/abc.jpeg out -l eng -psm 7 digits
images/abc.jpeg:输入待OCR的图片;
out:输出结果到终端,也可用文件名,表示输出到文件;
-l eng:使用英文识别库;
-psm 7:表示分页方式,7表示将图片视为单行文字;
digits:识别配置文件,这里表示只识别数字。
中文库目前:
https://github.com/tesseract-ocr/tessdata/raw/master/chi_sim.traineddata
训练:
支持tiff需要安装 libtiff和leptonica
1、制作box file
通过命令生成.box或者下载windows工具
tesseract [lang].[fontname].exp[num].tif [lang].[fontname].exp[num] batch.nochop makebox
其中lang为语言名称,fontname为字体名称,num为序号,可以随便定义。
2、利用jTessBoxEditor
生成的.box要和这个.tif文件同在一个目录下。
逐个校正文字,后保存。
3、合并
其他说明:
更多参考:http://wangjunle23.blog.163.com/blog/static/117838171201323031458171/
商业化:ABBYY Finereader
在线ocr地址:https://www.newocr.com/
这篇关于图片识别——Tesseract的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!