论文部分内容阅读
图片文字识别OCR(Optical Character Recognition,光学字符识别)应用非常广泛。例如DNA序列图片识别;PDF文字识别;车牌号码自动识别;手机上的手写输入识别等。近年来该应用更加广泛,必然出现在教育领域的一款手机应用,将手机把试卷拍照查询答案,首先就是图片文字识别处理。相信越来越有魔力的应用会继续产生。而图片文字识别唯一重要的标准就是识别率。现在的图片文字识别没有100%的识别率,这也成为了图片文字识别应用发展的一大瓶颈,因此探索一个好的图片文字识别算法很有意义。图片文字识别涉及图片处理技术、模式识别技术、数据库存储等。本文图片文字识别基本流程一般是:获得图片、去噪处理、二值化处理、矫正图片、行查找、文字定位、细化处理、文字特征扫描、查询显示文字等处理过程。主要使用了linux下的opencv图像处理库,该库图像处理丰富,性能良好;文字的特征码存储在Mysql数据库中。图片识别计算量大,占用存储也比较多。因此性能和资源也是需要考虑的一个因素。文字识别结束后如果能根据上下文词汇进行二次校验将是提升准确率的一个好方法,由于本着着重研究识别算法的精确度,未包含该项步骤。在后续的工作中再考虑使用该方法进一步提升准确率。Opencv提供了图片处理的基本函数,例如图片存储,数据矩阵的遍历等,去噪处理中的平滑处理、二值化处理等。矫正图片就是将图片按照文字的行摆正,该步骤是比较关键的一步,后面的行定位等都依赖于图片矫正。文字的行定位和文字定位即确定文字区域,方便文字特征扫描,细化处理是将文字细化为一个像素,而又不破坏连通性。细化处理是方便特征扫描而做的处理。数据库中存储文字特征码和UTF8编码对应起来。图片文字识别中包含了标点符号识别、汉字识别、英文字母识别等。本着主要针对印刷体文字识别。该项识别应用占大多数。其中汉字识别比较复杂,本文采用了独特的连通域扫描识别笔画,并根据笔画的位置产生特征码。笔画就是一笔不间断的书写而成的。在笔画识别过程中本文使用了笔画直线化概念,认为所有笔画都可以简单的分为直线和曲线,将文字简化为直线和曲线以及交叉点组成可以即精准右简化了文字特征码的扫描。本文阐述了整个图片文字识别系统的工作过程,以及使用的技术和算法。针对opencv的使用和数据库的使用。每一个处理过程都是需要试验来验证的。通过展示变化图片可以清晰的了解处理过程。经过大量试验验证了其准确性和稳定性。该图片文字识别系统满足了当初的设计意图。