CN103077388B - 面向便携式计算设备的快速文本扫读方法 - Google Patents
面向便携式计算设备的快速文本扫读方法 Download PDFInfo
- Publication number
- CN103077388B CN103077388B CN201210593869.2A CN201210593869A CN103077388B CN 103077388 B CN103077388 B CN 103077388B CN 201210593869 A CN201210593869 A CN 201210593869A CN 103077388 B CN103077388 B CN 103077388B
- Authority
- CN
- China
- Prior art keywords
- text
- image
- thread
- data set
- rectangular profile
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000012937 correction Methods 0.000 claims abstract description 17
- 238000000605 extraction Methods 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000012544 monitoring process Methods 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 5
- 238000003708 edge detection Methods 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000012015 optical character recognition Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000013480 data collection Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000005260 corrosion Methods 0.000 description 2
- 230000007797 corrosion Effects 0.000 description 2
- 238000005530 etching Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007630 basic procedure Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000010339 dilation Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000010937 topological data analysis Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Character Input (AREA)
Abstract
本发明公开了一种面向便携式计算设备的快速文本扫读方法,其实施步骤如下:1)图像预处理:通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;2)文本识别及语音输出:调用OCR引擎对以行为单位的文本数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。本发明具有文字识别速度快、识别准确率高、语音输出智能、用户等待时间少、用户使用体验好的优点。
Description
技术领域
本发明涉及计算机数字图像处理领域,具体涉及一种面向便携式计算设备的快速文本扫读方法。
背景技术
随着手机等便携式计算设备的快速普及化,便携式计算设备得到了快速的发展。但相比于硬件的快速发展,软件的发展却比较缓慢。如何利用便携式计算设备的硬件,实现快速、实时、准确的进行文本扫读依然是个难点,而当前面向便携式计算设备的文本识别方法绝大多数只能应用在比较简单的场景且需要较复杂的人工操作。OCR(OpticalCharacterRecognition)能对图片中的文本进行识别,TTS(TextToSpeech)则能将文本转化为语音,在桌面计算设备上,OCR和TTS是非常常见的信息获取和传递手段。随着计算机和通信技术的快速发展,便携式计算设备得到了飞速发展,为人们获取和传递信息提供了新的途径,目前已有大量在便携式计算设备上进行OCR和TTS的方法。扫读指通过便携式计算设备上集成的摄像头获取包含文本的图片,然后通过OCR获取图片中的文本,并将文本通过TTS转成语音反馈给用户,可帮助某些特殊用户(如:盲人和视弱人群)感知周围环境。
但当前出现的一些面向便携式计算设备的文本识别设备/软件仅仅面对比较简单的场景且需要较复杂的人工操作。比如只针对实体书的阅读设备,需要事先把设备固定在书上,通过相关装置(定位绳、电机等)定位书上的每一行来方便图像的获取和文本的识别。此外,现有设备的文本识别与发声模块采用的是串行处理,用户使用设备每扫描一次,必须要等到文本识别结果完全结束后才能通过发声模块听到文本内容。然而文本识别速度较慢,一次扫描的内容越多,需要文本识别的时间就越久。这就使得用户不得不把时间浪费在等待文本识别这个过程中,大大降低了用户的体验度。
发明内容
本发明要解决的技术问题是提供一种文字识别速度快、识别准确率高、语音输出智能、用户等待时间少、用户使用体验好的面向便携式计算设备的快速文本扫读方法。
为解决上述技术问题,本发明采用的技术方案为:
一种面向便携式计算设备的快速文本扫读方法,其实施步骤如下:
1)图像预处理:通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;
2)文本识别及语音输出:调用OCR引擎对以行为单位的文本区域数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。
作为本发明上述技术方案的进一步改进:
所述旋转矫正的详细步骤如下:
A1.1)采用CANNY边缘检测算法和霍夫变化算法提取图像中最显著的直线信息;
A1.2)通过直线信息判断图像的主方向;
A1.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)中采用的图像灰度梯度计算方法的函数表达式如式(1)所示;
式(1)中,f(x,y)代表图像在坐标(x,y)处的灰度值;D表示所求的图像在坐标(x,y)处的梯度值。
所述步骤1.3B)的详细步骤如下:
B1.3.1)将图像的图像数据根据式(2)进行二值化参数γ的计算;
式(2)中,“·”表示图像中对应位置像素的乘积,es为输入的图像数据,s的函数表达式如式(3)所示;
s=max(|g1**es|,|g2**es|)(3)
式(3)中,g1=[-101],g2=[-101]t,“**”表示二维线性卷积;
B1.3.2)根据二值化参数γ和式(4)对图像的图像数据进行二值化处理最终得到二值化图像;
式(4)中,e为最终得到的二值化图像。
所述步骤B1.5)中对所述外部矩形轮廓集进行过滤的过滤条件如下:
a)外部矩形轮廓的宽度<k1×输入图像的宽度;
b)外部矩形轮廓的高度<k2×输入图像的高度;
c)外部矩形轮廓的宽度和高度之比<f1;
d)外部矩形轮廓的宽度>w1;
e)wmin<外部矩形轮廓的中心宽度<wmax;
f)hmin<外部矩形轮廓的中心高度<hmax;
上述过滤条件a)~f)中,k1、k2、f1、w1、wmin、wmax、hmin、hmax均为预设的过滤参数;不满足上述条件的局部区域被认为是非文本区域,最终将被过滤掉。
所述步骤B1.6)的详细执行步骤如下:
B1.6.1)对过大或者过小的文本子区域进行过大和过小的判定,矩形轮廓的高度>fmax×输入图像的高度被认为该子区域过大;矩形轮廓区域的宽度<fmin×输入图像的宽度被认为该子区域过小;其中fmax、fmin为预设的过大和过小的判定计算参数;
B1.6.2)对过大或者过小的文本子区域进行处理:对于过大的子区域,采取“开-闭”运算提取该子区域内部局部矩形结构,并以行为单位进行分割,得到以行为单位的文本区域数据集;对于过小区域,根据该局部区域的左上角坐标与相邻的属于同一行的其它子区间进行合并操作,构建以行为单位的文本区域数据集。
所述步骤2)的详细步骤如下:
2.1)输入以行为单位的文本区域数据集;
2.2)创建监控线程,该线程负责整个文本识别和TTS播报两个线程的调度;
2.3)由所述监控线程同时创建文本识别线程和通知线程,且所述文本识别线程与通知线程并行进行;
2.4)所述文本识别线程按照每个切分得到的图片左上角坐标对以行为单位的文本区域数据集排序,并按顺序依次取出每个文本区域数据集输入到所述文本识别线程中调用OCR文本识别引擎进行文本识别;同时,监控线程还负责对文本识别线程的完成时间做出预估,采用卡尔曼滤波预测下一次文本识别所需时间,并根据预估结果调整所述通知线程的TTS播报速率;所述文本识别线程一旦识别完毕则立即通知监控线程,同时所述监控线程取出下一个文本区域数据集并输入到文本识别线程当中进行识别;所述监控线程立即启动通知线程,并把识别的结果和所述监控线程输出的TTS播报速率输入到所述通知线程,跳转执行步骤2.5);
2.5)所述通知线程调用TTS引擎以语音的形式把识别结果反馈给用户,然后跳转执行下一步;
2.6)判断文本区域数据集是否为空,如果文本区域数据集不为空返回步骤2.4);如果文本区域数据集为空,立即结束整个流程。
本发明具有下述优点:
1、本发明依托于便携式计算设备硬件水平的高速发展,引入了数字图像处理技术,采用面向数字图像处理相关理论实现快速、准确的文本扫读功能,主要包括输入图像预处理和文本识别及语音输出两个主要部分。图像预处理部分利用数字图像处理技术中的形态学相关理论对通过摄像头捕获的图片进行预处理,实现快速准确的文本区域旋转矫正、文字区域检测及以行为单位的图片分割,方便后续识别;本发明中图像预处理得到的为以行为单位的文本区域数据集,在保证后续文本识别准确率的基础上提高整个扫读的运行效率文本,能够提高文本识别的精度,具有文字识别速度快、识别准确率高、用户等待时间少、用户使用体验好的优点。
2、本发明通过图像预处理模块的输出结果是以行为单位的图片数据集,因此就可以采用多线程的方式把文本识别与用户反馈进行并行处理,文本识别及语音输出采用多线程技术在进行文本识别的同时,使用TTS播报速率将文本识别出来的文字信息通过TTS引擎以声音的形式反馈给用户,TTS播报速率会自动根据文本识别进行调整,减少用户的等待时间,语音输出智能,能够提高整个系统的用户体验度。
3、本发明的文本识别的整个过程完全自动进行,无需任何人工干预。
附图说明
图1为本发明实施例的基本流程示意图。
图2为本发明实施例中图像预处理的流程示意图。
图3为本发明实施例中检测提取文本区域的流程示意图。
图4为本发明实施例中文本识别及语音输出的流程示意图。
具体实施方式
如图1和图2所示,本实施例面向便携式计算设备的快速文本扫读方法的实施步骤如下:
1)图像预处理:通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;
2)文本识别及语音输出:调用OCR引擎对以行为单位的文本区域数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。
面向便携式计算设备可以为手机、平板电脑、智能终端、便携式计算机等计算机设备,本实施例中便携式计算设备为手机。本实施例从结构实现上,图像预处理通过图像预处理模块实现,文本识别及语音输出则通过文本识别及语音输出模块实现。本实施例采用面向数字图像处理相关理论实现快速、准确的文本扫读功能,主要包括输入图像预处理和文本识别及语音输出两个主要部分;图像预处理部分利用数字图像处理技术中的形态学相关理论对通过摄像头捕获的图片进行预处理,实现快速准确的文本区域旋转矫正、文字区域检测及以行为单位的图片分割,方便后续识别;文本识别及语音输出采用多线程技术在进行文本识别的同时,使用TTS播报速率将文本识别出来的文字通过TTS引擎以声音的形式反馈给用户,减少用户的等待时间,当通过摄像头捕获包含待识别区域的图片后,快速的定位文字区域,快速且准确的识别出文字内容并及时通过声音方式反馈给用户,具有文字识别速度快、识别准确率高、语音输出智能、用户等待时间少、用户使用体验好的优点。而且本实施例中图像预处理得到的为以行为单位的文本区域数据集,在保证后续文本识别准确率的基础上提高整个扫读的运行效率文本。其中,步骤1)中的图像预处理是整个面向便携式计算设备的文本识别技术的核心,决定着整个系统识别性能。
步骤1)中旋转矫正的详细步骤如下:
A1.1)采用CANNY边缘检测算法和霍夫变化算法提取图像中最显著的直线信息;
A1.2)通过直线信息判断图像的主方向;
A1.3)然后根据图像的主方向旋转图像达到水平方向。
用户在利用便携设备拍照时很容易出现没有对齐现象,导致图片中的影像没有保持正确的方向,存在一定的旋转偏移。旋转会严重影响文本识别的准确率,直接导致文本识别的失败。所以在进行后续处理之前,首先一定要对图片进行旋转矫正。本实施例中在便携式计算设备捕获包含文本的图片后,通过上述A1.1)~A1.3),采用面向数字图像处理的图像旋转矫正算法,可以有效的校准旋转,保存图像中文字的水平排列:采用CANNY边缘检测算法和霍夫变化算法,提取图像中最显著的直线信息,通过直线信息判断图像的主方向,并旋转图像达到水平方向,对图像进行角度旋转修正,能够提高调用OCR引擎进行文本识别的精度。
本实施例中步骤1)中检测提取文本区域的详细步骤如下:
B1.1)输入旋转矫正后的图片;
B1.2)提取图像中灰度变化明显的局部区域;
B1.3)将图像采用全局二值化算法进行处理得到二值化图像,将二值化图像进行闭运算处理;
B1.4)采用Suzuki轮廓提取算法对整幅二值化图像进行矩形轮廓提取,得到所有局部区域的外部矩形轮廓集;
B1.5)对所述外部矩形轮廓集进行过滤,过滤掉所有不满足文字矩形轮廓条件的外部矩形轮廓,保留最有可能是文字的外部矩形轮廓,作为文本子区域进行输出;
B1.6)对文本子区域进行分割或合并操作,最终构建得到以行为单位的文本区域数据集。
本实施例通过上述步骤B1.1)~B1.6),能够有效的出图像中得到所有局部结构的外部矩形轮廓集,而且能够过滤掉所有不满足文字矩形轮廓条件的局部轮廓,保留最有可能是文字的局部轮廓,作为文本子区域进行输出,因此仅仅保留有效的文本子区域,能够提高文字识别的精度。
本实施例中,1.2B)的详细步骤如下:
B1.2.1)对图片分别进行先开运算后闭运算和先闭运算后开运算,得到图像中稳定的矩形区域;开运算就是先腐蚀再膨胀,用于去掉目标外的孤立点,闭运算是先膨胀再腐蚀,用于去掉目标内的孔;其中,膨胀和腐蚀是数字图像处理的基本算法,膨胀就是把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔),而腐蚀就是把二值图像各1像素连接成分的边界点去掉从而缩小一层(可提取骨干信息,去掉毛刺,去掉孤立的0像素);
B1.2.2)针对先开运算后闭运算和先闭运算后开运算得到的图像,分别采用图像灰度梯度计算方法获取图像中灰度变化明显的局部区域;
B1.2.3)针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,最终得到图像中灰度变化明显的局部区域。
本实施例通过上述步骤B1.2.1)~B1.2.3),对图片分别进行先开运算后闭运算和先闭运算后开运算对图像进行膨胀/腐蚀操作,并将针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,因此能够有效去除图像中的黑色或者白色的噪点,能够有效提高文字识别的精度。
本实施例中,步骤B1.2.2)中采用的图像灰度梯度计算方法的函数表达式如式(1)所示;
式(1)中,f(x,y)代表图像在坐标(x,y)处的灰度值;D表示所求的图像在坐标(x,y)处的梯度值,式(1)的述算法简单高效,开销较低。
本实施例中,步骤1.3B)的详细步骤如下:
B1.3.1)将图像的图像数据根据式(2)进行二值化参数γ的计算;
式(2)中,“·”表示图像中对应位置像素的乘积,es为输入的图像数据,s的函数表达式如式(3)所示;
s=max(|g1**es|,|g2**es|)(3)
式(3)中,g1=[-101],g2=[-101]t,“**”表示二维线性卷积;
B1.3.2)根据二值化参数γ和式(4)对图像的图像数据进行二值化处理最终得到二值化图像;
式(4)中,e为最终得到的二值化图像。
本实施例中通过步骤B1.3.1)~B1.3.2)的二值化方法,能够提高图像在二值化是而线性程度,提高二值化图像的精度以及降低二值化图像时的噪音,能够进一步提高在文字识别时的文字识别精度。
本实施例中,步骤B1.5)中对外部矩形轮廓集进行过滤的过滤条件如下:
a)外部矩形轮廓的宽度<k1×输入图像的宽度;
b)外部矩形轮廓的高度<k2×输入图像的高度;
c)外部矩形轮廓的宽度和高度之比<f1;
d)外部矩形轮廓的宽度>w1;
e)wmin<外部矩形轮廓的中心宽度<wmax;
f)hmin<外部矩形轮廓的中心高度<hmax;
上述过滤条件a)~f)中,k1、k2、f1、w1、wmin、wmax、hmin、hmax均为预设的过滤参数本实施例中,k1取值为0.5、k2取值为0.3、f1取值为10、w1取值为10mm、wmin取值为0.1mm、wmax取值为0.9mm、hmin取值为0.3mm、hmax取值为0.7mm;不满足上述条件的局部区域被认为是非文本区域,最终将被过滤掉。本实施例通过设置上述过滤条件a)~f),能够根据经验设定参数,提高过滤非文本区域的精度,通过排除多余的非文本区域,能够提高文字识别的精度。
本实施例中,步骤B1.6)的详细执行步骤如下:
B1.6.1)对过大或者过小的文本子区域进行过大和过小的判定,矩形轮廓的高度>fmax×输入图像的高度被认为该子区域过大;矩形轮廓区域的宽度<fmin×输入图像的宽度被认为该子区域过小;其中fmax、fmin为预设的过大和过小的判定计算参数,本实施例中,fmax取值为0.2、fmin取值为0.6;
B1.6.2)对过大或者过小的文本子区域进行处理:对于过大的子区域,采取“开-闭”运算提取该子区域内部局部矩形结构,并以行为单位进行分割,得到以行为单位的文本区域数据集;对于过小区域,根据该局部区域的左上角坐标与相邻的属于同一行的其它子区间进行合并操作,构建以行为单位的文本区域数据集。
由前面计算所得到的文本轮廓集中的文本子区域或大或小,如果直接把该数据集作为输入进行文本识别势必会影响识别的准确率和效率。本实施例中,通过步骤B1.6.1)对过大或者过小的文本子区域进行过大和过小的判定和步骤B1.6.1)对过大或者过小的文本子区域进行处理,能够有效对文本子区域的大小进行整理,因此如果存在多行文本区域,则会分割为以行为单位的文本区域数据集,如果同一行的两个文本区域数据集则会进行合并为一行,因此能够有效提高文字识别的精度。
如图3所示,本实施例步骤1)中检测提取文本区域的详细步骤如下:
1)输入旋转矫正后的图片。
2)采用数字图像处理中的“开-闭”运算对经过旋转矫正的图片进行处理,对图像进行膨胀/腐蚀操作获得图像中稳定的矩形区域。分别采用先“开运算”后“闭运算”和先“闭运算”后“开运算”是针对不同的前景/背景的颜色亮度对比情况。所谓的开运算就是先腐蚀再膨胀,可以去掉目标外的孤立点,而闭运算是先膨胀再腐蚀,可以去掉目标内的孔;膨胀就是把二值图像各1像素连接成分的边界扩大一层(填充边缘或0像素内部的孔),而腐蚀就是把二值图像各1像素连接成分的边界点去掉从而缩小一层(可提取骨干信息,去掉毛刺,去掉孤立的0像素)。
3)采用式(1)所示的图像灰度梯度计算方法,得到图像中灰度变化明显的局部区域。
4)线性合并先“开运算”后“闭运算”和先“闭运算”后“开运算”两种结果图像;
5)采用二值化方法,计算图像中的矩形结构区域。
其中,图像二值化采用全局二值化算法进行计算:
式中:“·”表示图像中对应位置像素的乘积;es为图2中合并得到的图像数据;s为:
s=max(|g1**es|,|g2**es|)(3)
式中:g1=[-101],g2=[-101]t,“**”表示二维线性卷积。
经过全局二值化运算,最终得到二值化图像e:
6)由全局二值化方法得到的二值化图像首先经过闭运算后,采用基于拓扑分析的轮廓提取算法对整幅二值化图像进行矩形轮廓提取,得到所有局部结构的外部矩形轮廓集;
7)对矩形轮廓集进行过滤,过滤掉所有不满足文字矩形轮廓条件的局部轮廓,保留最有可能是文字的局部轮廓,作为输出准备送入后续的文本识别流程。过滤条件如下:
a)矩形轮廓的宽度<k1×输入图像的宽度;
b)矩形轮廓的高度<k2×输入图像的高度;
c)矩形轮廓宽度和高度之比<f1;
d)矩形轮廓宽度>w1;
e)wmin<矩形轮廓的中心宽度<wmax;
f)hmin<矩形轮廓的中心高度<hmax;
8)不满足条件的局部区域被认为是非文本区域,最终过滤掉;
9)由前面计算所得到的文本轮廓集中的文本子区域或大或小,如果直接把该数据集作为输入进行文本识别势必会影响识别的准确率和效率。针对这种情况,对文本子区域进行分割/合并操作:
a)对于过大的子区域,采取“开-闭”运算提取该子区域内部局部矩形结构,并以行为单位进行分割;
b)对于过小区域,根据该局部区域的左上角坐标与相邻的属于同一行的其它子区间进行合并操作,构建以行为单位的图片数据集。过大/过小的判定是以该子区域的宽度作为衡量标准:矩形轮廓的高度>fmax×输入图像的高度被认为该子区域过大;矩形轮廓区域的宽度<fmin×输入图像的宽度被认为该子区域过小;
10)经过分割/合并处理后,最终构建以行为单位的图片数据集。
本实施例中,如图4所示,步骤2)的详细步骤如下:
2.1)输入以行为单位的文本区域数据集;
2.2)创建监控线程,该线程负责整个文本识别和TTS播报两个线程的调度;
2.3)由监控线程同时创建文本识别线程和通知线程,且文本识别线程与通知线程并行进行;
2.4)文本识别线程按照每个切分得到的图片左上角坐标对以行为单位的文本区域数据集排序,并按顺序依次取出每个文本区域数据集输入到文本识别线程中调用OCR文本识别引擎进行文本识别;同时,监控线程还负责对文本识别线程的完成时间做出预估,采用卡尔曼滤波预测下一次文本识别所需时间,并根据预估结果调整通知线程的TTS播报速率;文本识别线程一旦识别完毕则立即通知监控线程,同时监控线程取出下一个文本区域数据集并输入到文本识别线程当中进行识别;监控线程立即启动通知线程,并把识别的结果和监控线程输出的TTS播报速率输入到通知线程,跳转执行步骤2.5);
2.5)通知线程调用TTS引擎以语音的形式把识别结果反馈给用户,然后跳转执行下一步;
2.6)判断文本区域数据集是否为空,如果文本区域数据集不为空返回步骤2.4);如果文本区域数据集为空,立即结束整个流程。
本实施例中,步骤2)的文本识别及语音输出是本实施例方法的另一个重要部分,影响整个算法效率的关键,给用户一个连续的、不间断的语音输出是文本识别及语音输出这部分内容的重点。为了解决这个问题,本实施例采用面向便携式计算设备的多线程技术,把文本识别及语音输出进行并行化处理,提高整个方法的实时性,同时文本识别过程中对文本识别时间进行预估,根据预估时间调节TTS播报速率,达到尽量减少用户等待时间的目的。
以上所述仅为本发明的优选实施方式,本发明的保护范围并不仅限于上述实施方式,凡是属于本发明原理的技术方案均属于本发明的保护范围。对于本领域的技术人员而言,在不脱离本发明的原理的前提下进行的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种面向便携式计算设备的快速文本扫读方法,其特征在于其实施步骤如下:
1)图像预处理:通过面向便携式计算设备的摄像头捕获包含文本的图片,然后将捕获的图片依次通过旋转矫正、检测提取文本区域,得到以行为单位的文本区域数据集;
所述检测提取文本区域的详细步骤如下:
B1.1)输入旋转矫正后的图片;
B1.2)提取图像中灰度变化明显的局部区域;
B1.3)将图像采用全局二值化算法进行处理得到二值化图像,将二值化图像进行闭运算处理;
B1.4)采用Suzuki轮廓提取算法对整幅二值化图像进行矩形轮廓提取,得到所有局部区域的外部矩形轮廓集;
B1.5)对所述外部矩形轮廓集进行过滤,过滤掉所有不满足文字矩形轮廓条件的外部矩形轮廓,保留最有可能是文字的外部矩形轮廓,作为文本子区域进行输出;
B1.6)对文本子区域进行分割或合并操作,最终构建得到以行为单位的文本区域数据集;2)文本识别及语音输出:调用OCR引擎对以行为单位的文本区域数据集进行文本识别;同时对OCR识别速度进行预估,根据预估结果调节TTS播报速率;在进行文本识别的同时,将识别出来的以行为单位的文字信息和所述TTS播报速率发给TTS引擎以声音的形式反馈给用户。
2.根据权利要求1所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述旋转矫正的详细步骤如下:
A1.1)采用CANNY边缘检测算法和霍夫变化算法提取图像中最显著的直线信息;
A1.2)通过直线信息判断图像的主方向;
A1.3)然后根据所述图像的主方向旋转图像达到水平方向。
3.根据权利要求1所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述B1.2)的详细步骤如下:
B1.2.1)对图片分别进行先开运算后闭运算和先闭运算后开运算,得到图像中稳定的矩形区域;所述开运算就是先腐蚀再膨胀,用于去掉目标外的孤立点,闭运算是先膨胀再腐蚀,用于去掉目标内的孔;
B1.2.2)针对先开运算后闭运算和先闭运算后开运算得到的图像,分别采用图像灰度梯度计算方法获取图像中灰度变化明显的局部区域;
B1.2.3)针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,最终得到图像中灰度变化明显的局部区域。
4.根据权利要求3所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.2.2)中采用的图像灰度梯度计算方法的函数表达式如式(1)所示;
式(1)中,f(x,y)代表图像在坐标(x,y)处的灰度值;D表示所求的图像在坐标(x,y)处的梯度值。
5.根据权利要求4所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.3)的详细步骤如下:
B1.3.1)将图像的图像数据根据式(2)进行二值化参数γ的计算;
式(2)中,“·”表示图像中对应位置像素的乘积,es为输入的图像数据,s的函数表达式如式(3)所示;
s=max(|g1**es|,|g2**es|)(3)
式(3)中,g1=[-101],g2=[-101]t,“**”表示二维线性卷积;
B1.3.2)根据二值化参数γ和式(4)对图像的图像数据进行二值化处理最终得到二值化图像;
式(4)中,e为最终得到的二值化图像;
步骤B1.3.1)和B1.3.2)所述图像的图像数据为步骤B1.2.3)针对先开运算后闭运算和先闭运算后开运算得到的变化明显的局部区域进行线性合并,最终得到的图像中灰度变化明显的局部区域。
6.根据权利要求5所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.5)中对所述外部矩形轮廓集进行过滤的过滤条件如下:
a)外部矩形轮廓的宽度<k1×输入图像的宽度;
b)外部矩形轮廓的高度<k2×输入图像的高度;
c)外部矩形轮廓的宽度和高度之比<f1;
d)外部矩形轮廓的宽度>w1;
e)wmin<外部矩形轮廓的中心宽度<wmax;
f)hmin<外部矩形轮廓的中心高度<hmax;
上述过滤条件a)~f)中,k1、k2、f1、w1、wmin、wmax、hmin、hmax均为预设的过滤参数;不满足上述条件的局部区域被认为是非文本区域,最终将被过滤掉。
7.根据权利要求6所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤B1.6)的详细执行步骤如下:
B1.6.1)对过大或者过小的文本子区域进行过大和过小的判定,矩形轮廓的高度>fmax×输入图像的高度被认为该子区域过大;矩形轮廓区域的宽度<fmin×输入图像的宽度被认为该子区域过小;其中fmax、fmin为预设的过大和过小的判定计算参数;
B1.6.2)对过大或者过小的文本子区域进行处理:对于过大的子区域,采取“开-闭”运算提取该子区域内部局部矩形结构,并以行为单位进行分割,得到以行为单位的文本区域数据集;对于过小区域,根据该局部区域的左上角坐标与相邻的属于同一行的其它子区间进行合并操作,构建以行为单位的文本区域数据集。
8.根据权利要求1~7中任意一项所述的面向便携式计算设备的快速文本扫读方法,其特征在于,所述步骤2)的详细步骤如下:
2.1)输入以行为单位的文本区域数据集;
2.2)创建监控线程,该线程负责整个文本识别和TTS播报两个线程的调度;
2.3)由所述监控线程同时创建文本识别线程和通知线程,且所述文本识别线程与通知线程并行进行;
2.4)所述文本识别线程按照每个切分得到的图片左上角坐标对以行为单位的文本区域数据集排序,并按顺序依次取出每个文本区域数据集输入到所述文本识别线程中调用OCR文本识别引擎进行文本识别;同时,监控线程还负责对文本识别线程的完成时间做出预估,采用卡尔曼滤波预测下一次文本识别所需时间,并根据预估结果调整所述通知线程的TTS播报速率;所述文本识别线程一旦识别完毕则立即通知监控线程,同时所述监控线程取出下一个文本区域数据集并输入到文本识别线程当中进行识别;所述监控线程立即启动通知线程,并把识别的结果和所述监控线程输出的TTS播报速率输入到所述通知线程,跳转执行步骤2.5);
2.5)所述通知线程调用TTS引擎以语音的形式把识别结果反馈给用户,然后跳转执行下一步;
2.6)判断文本区域数据集是否为空,如果文本区域数据集不为空返回步骤2.4);如果文本区域数据集为空,立即结束整个流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593869.2A CN103077388B (zh) | 2012-10-31 | 2012-12-31 | 面向便携式计算设备的快速文本扫读方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210427515.0 | 2012-10-31 | ||
CN201210427515 | 2012-10-31 | ||
CN201210593869.2A CN103077388B (zh) | 2012-10-31 | 2012-12-31 | 面向便携式计算设备的快速文本扫读方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103077388A CN103077388A (zh) | 2013-05-01 |
CN103077388B true CN103077388B (zh) | 2016-01-20 |
Family
ID=48153912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593869.2A Expired - Fee Related CN103077388B (zh) | 2012-10-31 | 2012-12-31 | 面向便携式计算设备的快速文本扫读方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103077388B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103956161B (zh) * | 2014-04-17 | 2017-04-26 | 天津工业大学 | 一种改进的ifft图声转换方法 |
CN104006834B (zh) * | 2014-05-28 | 2016-08-03 | 常州中能电力科技有限公司 | 变电站机械式表计数据采集及诊断系统 |
CN104157171B (zh) * | 2014-08-13 | 2016-11-09 | 三星电子(中国)研发中心 | 一种点读系统及其方法 |
KR102309175B1 (ko) * | 2014-08-29 | 2021-10-06 | 삼성전자주식회사 | 스크랩 정보를 제공하는 전자 장치 및 그 제공 방법 |
CN106874823A (zh) * | 2015-12-10 | 2017-06-20 | 中国移动通信集团公司 | 一种信息识别方法和装置 |
CN105761201B (zh) * | 2016-02-02 | 2019-03-22 | 山东大学 | 一种翻译图片中文字的方法 |
CN105844275B (zh) * | 2016-03-25 | 2019-08-23 | 北京云江科技有限公司 | 文本图像中文本行的定位方法 |
WO2019023869A1 (zh) * | 2017-07-31 | 2019-02-07 | 深圳传音通讯有限公司 | 一种基于智能终端的语音输出方法及语音输出系统 |
CN107705300A (zh) * | 2017-09-28 | 2018-02-16 | 成都大熊智能科技有限责任公司 | 一种基于形态学变换实现空白页检测的方法 |
CN108573260A (zh) * | 2018-03-29 | 2018-09-25 | 广东欧珀移动通信有限公司 | 信息处理方法和装置、电子设备、计算机可读存储介质 |
CN108596181B (zh) * | 2018-04-16 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 文本识别方法、系统、机器设备和计算可读存储介质 |
CN109800750A (zh) * | 2019-01-25 | 2019-05-24 | 济南浪潮高新科技投资发展有限公司 | 一种基于图像形态学用于规则排版的文本的文字区域标注方法 |
CN110188745A (zh) * | 2019-05-30 | 2019-08-30 | 北京爱尖子教育科技有限责任公司 | 教学内容在线代码化方法及系统 |
CN110738207B (zh) * | 2019-09-10 | 2020-06-19 | 西南交通大学 | 一种融合文字图像中文字区域边缘信息的文字检测方法 |
CN111461097A (zh) * | 2020-03-18 | 2020-07-28 | 北京大米未来科技有限公司 | 识别图像信息的方法、装置、电子设备及介质 |
CN112259074A (zh) * | 2020-09-21 | 2021-01-22 | 北京麦哲科技有限公司 | 一种基于高拍仪获得语音播放方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056342A1 (en) * | 2000-02-24 | 2001-12-27 | Piehn Thomas Barry | Voice enabled digital camera and language translator |
CN101493996A (zh) * | 2009-01-15 | 2009-07-29 | 北方工业大学 | 一种智能阅读器及其实现方法 |
CN101751567A (zh) * | 2008-12-12 | 2010-06-23 | 汉王科技股份有限公司 | 快速文本识别方法 |
CN102324191A (zh) * | 2011-09-28 | 2012-01-18 | Tcl集团股份有限公司 | 一种有声读物逐字同步显示方法及系统 |
CN102496019A (zh) * | 2011-12-08 | 2012-06-13 | 银江股份有限公司 | 一种车牌字符分割方法 |
-
2012
- 2012-12-31 CN CN201210593869.2A patent/CN103077388B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010056342A1 (en) * | 2000-02-24 | 2001-12-27 | Piehn Thomas Barry | Voice enabled digital camera and language translator |
CN101751567A (zh) * | 2008-12-12 | 2010-06-23 | 汉王科技股份有限公司 | 快速文本识别方法 |
CN101493996A (zh) * | 2009-01-15 | 2009-07-29 | 北方工业大学 | 一种智能阅读器及其实现方法 |
CN102324191A (zh) * | 2011-09-28 | 2012-01-18 | Tcl集团股份有限公司 | 一种有声读物逐字同步显示方法及系统 |
CN102496019A (zh) * | 2011-12-08 | 2012-06-13 | 银江股份有限公司 | 一种车牌字符分割方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103077388A (zh) | 2013-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077388B (zh) | 面向便携式计算设备的快速文本扫读方法 | |
US11887362B2 (en) | Sky filter method for panoramic images and portable terminal | |
CN108108731B (zh) | 基于合成数据的文本检测方法及装置 | |
CN112418216B (zh) | 一种复杂自然场景图像中的文字检测方法 | |
CN107871125A (zh) | 违章建筑识别方法、装置及电子设备 | |
Le et al. | An automated fish counting algorithm in aquaculture based on image processing | |
CN105678213B (zh) | 基于视频特征统计的双模式蒙面人事件自动检测方法 | |
US20150319373A1 (en) | Method and device to compose an image by eliminating one or more moving objects | |
CN111259878A (zh) | 一种检测文本的方法和设备 | |
CN104751097A (zh) | 一种车辆识别码的检测处理方法及装置 | |
CN113012383B (zh) | 火灾检测报警方法、相关系统、相关设备及存储介质 | |
CN112686243A (zh) | 智能识别图片文字的方法、装置、计算机设备及存储介质 | |
Lazrus et al. | An efficient method of vehicle number plate detection and recognition | |
CN114049499A (zh) | 用于连续轮廓的目标对象检测方法、设备及存储介质 | |
CN103824257A (zh) | 一种二维码图像预处理方法 | |
CN109741273A (zh) | 一种手机拍照低质图像的自动处理与评分方法 | |
CN116110036A (zh) | 基于机器视觉的电力铭牌信息缺陷等级判断方法及装置 | |
CN111210434A (zh) | 基于天空识别的图像替换方法及系统 | |
CN108304840A (zh) | 一种图像数据处理方法以及装置 | |
CN114419006A (zh) | 一种随背景变化的灰度视频文字类水印去除方法及系统 | |
CN111179289B (zh) | 一种适用于网页长图宽图的图像分割方法 | |
CN110276260B (zh) | 一种基于深度摄像头的商品检测方法 | |
CN115376137B (zh) | 一种光学字符识别处理、文本识别模型训练方法及装置 | |
WO2017008029A1 (en) | Nearsighted camera object detection | |
CN202694370U (zh) | 一种基于数字图像处理的多人脸识别系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160120 Termination date: 20181231 |