面向便携式计算设备的快速文本扫读方法

文档序号:6581554阅读:189来源:国知局
专利名称:面向便携式计算设备的快速文本扫读方法
技术领域
本发明涉及计算机数字图像处理领域,具体涉及一种面向便携式计算设备的快速文本扫读方法。
背景技术
随着手机等便携式计算设备的快速普及化,便携式计算设备得到了快速的发展。但相比于硬件的快速发展,软件的发展却比较缓慢。如何利用便携式计算设备的硬件,实现快速、实时、准确的进行文本扫读依然是个难点,而当前面向便携式计算设备的文本识别方法绝大多数只能应用在比较简单的场景且需要较复杂的人工操作。0CR(0ptiCalCharacterRecognition)能对图片中的文本进行识别,TTS(Text To Speech)则能将文本转化为语音,在桌面计算设备上,OCR和TTS是非常常见的信息获取和传递手段。随着计算机和通信技术的快速发展,便携式计算设备得到了飞速发展,为人们获取和传递信息提供了新的途径,目前已有大量在便携式计算设备上进行OCR和TTS的方法。扫读指通过便携式计算设备上集成的摄像头获取包含文本的图片,然后通过OCR获取图片中的文本,并将文本通过TTS转成语音反馈给用户,可帮助某些特殊用户(如盲人和视弱人群)感知周围环境。但当前出现的一些面向便携式计算设备的文本识别设备/软件仅仅面对比较简单的场景且需要较复杂的人工操作。比如只针对实体书的阅读设备,需要事先把设备固定在书上,通过相关装置(定位绳、电机等)定位书上的每一行来方便图像的获取和文本的识另IJ。此外,现有设备的文本识别与发声模块采用的是串行处理,用户使用设备每扫描一次,必须要等到文本识别结果完全结束后才能通过发声模块听到文本内容。然而文本识别速度较慢,一次扫描的内容越多,需要文本识别的时间就越久。这就使得用户不得不把时间浪费在等待文本识别这个过程中,大大降低了用户的体验度。

发明内容
本发明要解决的技术问题是提供一种文字识别速度快、识别准确率高、语音输出智能、用户等待时间少、用户使用体验好的面向便携式计算设备的快速文本扫读方法。为解决上述技术问题,本发明采用的技术方案为—种面向便携式计算设备的快速文本扫读方法,其实施步骤如下I)图像预处理通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;2)文本识别及语音输出调用OCR引擎对以行为单位的文本区域数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。作为本发明上述技术方案的进一步改进
所述旋转矫正的详细步骤如下:Al.1)采用CANNY边缘检测算法和霍夫变化算法提取图像中最显著的直线信息;Al.2)通过直线信息判断图像的主方向;Al.3)然后根据所述图像的主方向旋转图像达到水平方向。所述检测提取文本区域的详细步骤如下:B1.1)输入旋转校正后的图片;B1.2)提取图像中灰度变化明显的局部区域;B1.3)将图像采用全局二值化算法进行处理得到二值化图像,将二值化图像进行闭运算处理;B1.4)采用Suzuki轮廓提取算法对整幅二值化图像进行矩形轮廓提取,得到所有局部区域的外部矩形轮廓集;B1.5)对所述外部矩形轮廓集进行过滤,过滤掉所有不满足文字矩形轮廓条件的外部矩形轮廓,保留最有可能是文字的外部矩形轮廓,作为文本子区域进行输出;B1.6)对文本子区域进行分割或合并操作,最终构建得到以行为单位的文本区域数据集。所述1.2B)的详细步骤如下:B1.2.1)对图片分别进行先开运算后闭运算和先闭运算后开运算,得到图像中稳定的矩形区域;所述开运算就是先腐蚀再膨胀,用于去掉目标外的孤立点,闭运算是先膨胀再腐蚀,用于去掉目标内的孔;B1.2.2)针对先开运算后闭运算和先闭运算后开运算得到的图像,分别采用图像灰度梯度计算方法获取图像中灰度变化明显的局部区域;B1.2.3)针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,最终得到图像中灰度变化明显的局部区域。所述步骤B1.2.2)中采用的图像灰度梯度计算方法的函数表达式如式(I)所示;
权利要求
1.一种面向便携式计算设备的快速文本扫读方法,其特征在于其实施步骤如下: 1)图像预处理:通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集; 2)文本识别及语音输出:调用OCR引擎对以行为单位的文本区域数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。
2.根据权利要求1所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述旋转矫正的详细步骤如下: Al.1)采用CANNY边缘检测算法和霍夫变化算法提取图像中最显著的直线信息; Al.2)通过直线信息判断图像的主方向; Al.3)然后根据所述图像的主方向旋转图像达到水平方向。
3.根据权利要求1所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述检测提取文本区域的详细步骤如下: B1.1)输入旋转校正后的图片; B1.2)提取图像中灰度变化明显的局部区域; B1.3)将图像采用全局二值化算法进行处理得到二值化图像,将二值化图像进行闭运算处理; B1.4)采用Suzuki轮廓提取算法对整幅二值化图像进行矩形轮廓提取,得到所有局部区域的外部矩形轮廓集; B1.5)对所述外部矩形轮廓集进行过滤,过滤掉所有不满足文字矩形轮廓条件的外部矩形轮廓,保留最有可能是文字的外部矩形轮廓,作为文本子区域进行输出; B1.6)对文本子区域进行分割或合并操作,最终构建得到以行为单位的文本区域数据集。
4.根据权利要求3所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述1.2B)的详细步骤如下: B1.2.1)对图片分别进行先开运算后闭运算和先闭运算后开运算,得到图像中稳定的矩形区域;所述开运算就是先腐蚀再膨胀,用于去掉目标外的孤立点,闭运算是先膨胀再腐蚀,用于去掉目标内的孔; B1.2.2)针对先开运算后闭运算和先闭运算后开运算得到的图像,分别采用图像灰度梯度计算方法获取图像中灰度变化明显的局部区域; B1.2.3)针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,最终得到图像中灰度变化明显的局部区域。
5.根据权利要求4所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.2.2)中采用的图像灰度梯度计算方法的函数表达式如式(I)所示; D=-Jif {x,y)-f{x + \,y)f + (/(χ,)’) — f(x, j + 1))2(I) 式⑴中,f(x,y)代表图像在坐标(χ,y)处的灰度值山表示所求的图像在坐标(χ,y)处的梯度值。
6.根据权利要求5所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤1.3B)的详细步骤如下: B1.3.1)将图像的图像数据根据式(2)进行二值化参数Y的计算; 式(2)中,“.”表示图像中对应位置像素的乘积,es为输入的图像数据,s的函数表达式如式(3)所示;
7.根据权利要求6所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.5)中对所述外部矩形轮廓集进行过滤的过滤条件如下: a)外部矩形轮廓的宽度<Ic1X输入图像的宽度; b)外部矩形轮廓的高度<k2X输入图像的高度; c)外部矩形轮廓的宽度和高度之比<; d)外部矩形轮廓的宽度>W1 ; e)Wmin<外部矩形轮廓的中心宽度< Wmax ; f)hmin<外部矩形轮廓的中心高度< hmax ; 上述过滤条件a) f)中,kp k2、 \、Wp wmin、wmax、hmin、hmax均为预设的过滤参数;不满足上述条件的局部区域被认为是非文本区域,最终将被过滤掉。
8.根据权利要求7所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.6)的详细执行步骤如下: B1.6.1)对过大或者过小的文本子区域进行过大和过小的判定,矩形轮廓的高度>ffflaxx输入图像的高度被认为该子区域过大;矩形轮廓区域的宽度< fminx输入图像的宽度被认为该子区域过小;其中fmax、fmin为预设的过大和过小的判定计算参数; B1.6.2)对过大或者过小的文本子区域进行处理:对于过大的子区域,采取“开-闭”运算提取该子区域内部局部矩形结构,并以行为单位进行分割,得到以行为单位的文本区域数据集;对于过小区域,根据该局部区域的左上角坐标与相邻的属于同一行的其它子区间进行合并操作,构建以行为单位的文本区域数据集。
9.根据权利要求1 8中任意一项所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤2)的详细步骤如下: ` 2.1)输入以行为单位的文本区域数据集; `2.2)创建监控线程,该线程负责整个文本识别和TTS播报两个线程的调度; `2.3)由所述监控线程同时创建文本识别线程和通知线程,且所述文本识别线程与通知线程并行进行;.2.4)所述文本识别线程按照每个切分得到的图片左上角坐标对以行为单位的文本区域数据集排序,并按顺序依次取出每个文本区域数据集输入到所述文本识别线程中调用OCR文本识别引擎进行文本识别;同时,监控线程还负责对文本识别线程的完成时间做出预估,采用卡尔曼滤波预测下一次文本识别所需时间,并根据预估结果调整所述通知线程的TTS播报速率;所述文本识别线程一旦识别完毕则立即通知监控线程,同时所述监控线程取出下一个文本区域数据集并输入到文本识别线程当中进行识别;所述监控线程立即启动通知线程,并把识别的结果和所述监控线程输出的TTS播报速率输入到所述通知线程,跳转执行步骤2.5); .2.5)所述通知线程 调用TTS引擎以语音的形式把识别结果反馈给用户,然后跳转执行下一步; .2.6)判断文本区域数据集是否为空,如果文本区域数据集不为空返回步骤2.4);如果文本区域数据集为空,立即结束整个流程。
全文摘要
本发明公开了一种面向便携式计算设备的快速文本扫读方法,其实施步骤如下1)图像预处理通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;2)文本识别及语音输出调用OCR引擎对以行为单位的文本数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。本发明具有文字识别速度快、识别准确率高、语音输出智能、用户等待时间少、用户使用体验好的优点。
文档编号G06K9/38GK103077388SQ201210593869
公开日2013年5月1日 申请日期2012年12月31日 优先权日2012年10月31日
发明者陈岭, 闯跃龙, 陈根才, 卜佳俊, 陈纯 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1