首先要说的是:我使用的是tesseract+emguCV进行字符识别,并没有从底层写算法来实现。
1.emguCV的介绍
因为我做的项目是在C#中使用,而对于图像处理基础我并没有太多准备知识。所以就想到了强大的计算机视觉库:opencv。届于opencv是用C和C++开发的,这就导致其在C#中使用受阻。emguCV正是opencv在C#中的封装,可以方便地在C#中使用。故选用这个工具对需要字符识别的图像进行预处理。
图像处理大致包括:图像灰度化,二值化,平滑去噪等。相应的函数可以在emguCV的使用手册中查找。
2.tesseract OCR
这是Google开源的OCR引擎。其实在emguCV中已经封装了,拿来用十分方便。也可以训练自己的心的语言。训练过程中主要注意:可以使用jTessBoxEditor进行修改,我主要是根据下面的链接训练的。
http://www.cnblogs.com/ShineTan/archive/2013/04/15/3021523.html
有什么问题可以与我交流。