扫描识别装置和方法转让专利

申请号 : CN201110141320.5

文献号 : CN102324027B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李永彬

申请人 : 汉王科技股份有限公司

摘要 :

本发明公开了一种扫描识别装置和方法,属于计算机外围设备领域。装置包括:用于拍摄图像的光学传感器和用于处理图像及识别字符的控制模块,所述光学传感器对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;所述控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码。本发明通过控制模块对光学传感器采集到的图像帧序列中的图像帧进行筛选,将得到的待拼接图像帧根据重叠内容进行拼接,提高了整个图像帧序列的拼接速度,降低了控制模块的处理负荷。

权利要求 :

1.一种扫描识别装置,其特征在于:包括用于拍摄图像的光学传感器和用于处理图像及识别字符的控制模块,所述光学传感器对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;所述控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码;所述控制模块包括:设置单元,设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧; 预测单元,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接信息的预测值; 搜索单元,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值; 更新单元,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至设置单元,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕; 拼接单元,根据计算完毕的各基准帧、预测帧的拼接信息的计算值将图像帧序列中的每帧图像与相关的图像帧拼接为全景图像。

2.根据权利要求1所述的装置,其特征在于:还包括与控制模块连接的照明单元,用于照明待扫描字符。

3.根据权利要求1所述的装置,其特征在于:所述图像帧组中帧属性分别为基准帧和预测帧的图像帧参与拼接,形成全景图像。

4.根据权利要求1所述的装置,其特征在于:所述图像帧组中的跳过帧数目大于等于

0。

5.根据权利要求1所述的装置,其特征在于:还包括显示单元,用于显示识别出的待扫描字符。

6.一种应用于权利要求1所述装置的扫描识别方法,其特征在于,包括如下步骤: 步骤一,对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠; 步骤二,装置中的控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像;所述步骤二包括: 步骤a,设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧; 步骤b,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接 信息的预测值; 步骤c,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值; 步骤d,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至步骤a,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕; 步骤e、根据计算完毕的各基准帧、预测帧的拼接信息的计算值将图像帧序列中的每帧图像与相关的图像帧拼接为全景图像; 步骤三,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码。

7.根据权利要求6所述的方法,其特征在于,所述对被扫描字符进行同步拍摄时,采用照明单元对被扫描字符进行照明。

8.根据权利要求6所述的方法,其特征在于,对被扫描字符的图像帧序列进行选择时,实时地对得到的待拼接图像帧进行拼接。

9.根据权利要求6所述的方法,其特征在于:所述步骤a中所述基准帧为图像帧组的第一帧;所述跳过帧为基准帧和预测帧之间的图像帧,跳过帧的数目根据图像帧间的拼接位移的更新值确定;所述预测帧为图像帧组中的最后一帧。

10.根据权利要求6所述的方法,其特征在于:所述步骤a中设置图像帧组中的各图像帧的帧属性时,根据当前帧的前一图像帧的帧属性进行判断,具体为: 如果当前帧的前一图像帧的帧属性为预测帧,则设置当前帧的帧属性为基准帧; 如果当前帧的前一图像帧的帧属性为基准帧,则根据前一图像帧的拼接信息的更新值计算该图像帧组中的跳过帧数目,该图像帧组的最后一帧的帧属性设置为预测帧,基准帧和预测帧之间的图像帧的帧属性设置为跳过帧。

11.根据权利要求6所述的方法,其特征在于:所述步骤b中的拼接信息包括拼接方向、水平拼接位移和竖直拼接位移。

12.根据权利要求11所述的方法,其特征在于:所述步骤b中计算当前帧的拼接信息的预测值时,得到经预测得到的当前帧的拼接信息,具体为: 如果当前帧为基准帧,则将当前帧的前一图像帧所对应的拼接信息的更新值作为当前帧的拼接信息的预测值; 如果当前帧为预测帧,则根据当前图像帧组的基准帧对应的拼接信息的更新值计算当前帧的拼接信息的预测值。

13.根据权利要求12所述的方法,其特征在于:所述根据当前图像帧组的基准帧对应的拼接信息的更新值计算当前帧的拼接信息的预测值时,将基准帧的拼接方向的更新值作为当前帧的拼接方向的预测值;具体为: 根据基准帧的水平拼接位移的更新值、基准帧的前一图像帧的水平拼接位移的更新值及当前图像帧组的跳过帧数目计算当前帧的水平拼接位移的预测值; 根据基准帧的竖直拼接位移的更新值、基准帧的前一图像帧的竖直拼接位移的更新值及当前图像帧组的跳过帧数目计算当前帧的竖直拼接位移的预测值。

14.根据权利要求6所述的方法,其特征在于:所述步骤c中搜索当前帧的拼接信息的计算值时,以当前帧的拼接信息的预测值为中心,形成搜索窗口,计算该窗口内各像素点处的拼接系数,将拼接系数的最大值对应的像素点处的拼接信息作为当前帧拼接信息的计算值。

15.根据权利要求11所述的方法,其特征在于:所述步骤d中计算当前帧的拼接信息的更新值时: 如果当前帧为基准帧,将当前帧的拼接信息的计算值作为当前帧的拼接信息更新值; 如果当前帧为预测帧,则根据当前图像帧组的跳过帧数目计算当前帧的拼接信息的更新值。

16.根据权利要求15所述的方法,其特征在于:所述根据当前图像帧组的跳过帧数目计算当前帧的拼接信息的更新值包括: 如果当前图像帧组的跳过帧数目等于0,则将当前帧的拼接信息的计算值作为当前帧的拼接信息更新值; 如果当前图像帧组的跳过帧数目大于0,将当前帧的拼接方向的计算值作为当前帧的拼接方向的更新值;根据当前帧的水平拼接位移计算值、基准帧的水平拼接位移的计算值及当前图像帧组的跳过帧数目计算当前帧的水平拼接位移的更新值;根据当前帧的竖直拼接位移计算值、基准帧的竖直拼接位移的计算值及当前图像帧组的跳过帧数目计算当前帧的竖直拼接位移的更新值。

17.根据权利要求6所述的方法,其特征在于:所述字符识别之前倾斜校正得到的全景图像,使全景图像中的各字符形成水平文字行。

说明书 :

扫描识别装置和方法

技术领域

[0001] 本发明属于计算机外围设备领域,涉及一种扫描识别装置和方法,具体涉及一种扫描识别所选择的字符序列的装置和方法。

背景技术

[0002] 电子扫描笔(简称扫描笔)是OCR的重要应用之一。扫描笔的光学摄像头按照一定频率对被扫描资料进行连续拍照,获取被扫描资料的图像帧序列,然后将图像帧序列拼接成一幅全景图像后进行OCR处理。
[0003] 用户在使用扫描笔扫描时,其扫描速度是变化的,一种典型的使用方式是,在刚刚开始扫描时,扫描笔的扫描速度从零开始逐渐增大,然后达到一个速度峰值,此后速度逐渐下降,直到扫描结束,在保证速度峰值时相邻图像帧之间有一定重叠内容的情况下,扫描速度越低,相邻图像帧之间的重叠内容越多,换言之,当扫描速度较小时,当前图像帧不但与其前一图像帧有重叠内容,而且很可能与其前一帧之前的一个或多个图像帧也有一定的重叠内容,当扫描速度很小时,当前图像帧一定与其前一帧之前的一个或多个图像帧有一定的重叠内容。
[0004] 另外,随着硬件技术的提高,为了提高扫描笔支持的扫描速度峰值,提高用户的使用感受,可以使用更高采样频率的光学传感器,当扫描笔的光学传感器采样频率提高时,相比于较低的采样频率,在相同扫描速度下当前图像帧与其前一帧之前的一个或多个图像帧有一定的重叠内容的概率更高。
[0005] 授权公告号CN1160657C的专利公开了一种文字的记录方法和装置,该装置扫过选择字符序列时,光学传感器同步记录多个内容部分重叠的图像,信号处理单元将这些图像水平、垂直地组合成为一幅全景图像,并将全景图像中的字符识别后存储在装置中。但该发明的信号处理单元只能通过重叠内容将每个图像帧与前一个图像帧垂直地和水平地组合,这样每两帧相邻的图像帧就必然进行组合。在当前图像帧与其前一帧之前的一个或多个图像帧也有一定的重叠内容时,每两帧相邻的图像帧进行组合拼接的方式,不但使信号处理单元的负荷大大加重,占用了硬件资源,而且也降低了整个图像帧序列的拼接速度。

发明内容

[0006] 本发明所要解决的技术问题为提供了一种扫描识别装置和方法,通过对采集到的图像帧序列中的图像帧进行筛选,对得到的待拼接图像帧根据重叠内容进行拼接,降低了控制模块的处理负荷,提高了整个图像帧序列的拼接速度。
[0007] 本发明公开了一种扫描识别装置,包括用于拍摄图像的光学传感器和用于处理图像及识别字符的控制模块,所述光学传感器对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;所述控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码。
[0008] 所述控制模块包括:
[0009] 设置单元,设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧;
[0010] 预测单元,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接信息的预测值;
[0011] 搜索单元,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值;
[0012] 更新单元,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至设置单元,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕;
[0013] 拼接单元、根据计算完毕的各基准帧、预测帧的拼接信息的计算值拼接为全景图像。
[0014] 本发明还公开了一种扫描识别方法,包括如下步骤:
[0015] 步骤一,对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;
[0016] 步骤二,装置中的控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像;
[0017] 步骤三,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码。
[0018] 进一步,所述方法的步骤二包括:
[0019] 步骤a,设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧;
[0020] 步骤b,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接信息的预测值;
[0021] 步骤c,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值;
[0022] 步骤d,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至步骤a,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕;
[0023] 步骤e、根据计算完毕的各基准帧、预测帧的拼接信息的计算值拼接为全景图像。
[0024] 本发明公开的一种扫描识别装置和方法,通过控制模块对光学传感器采集到的图像帧序列中的图像帧进行筛选,根据得到的待拼接图像帧中的重叠内容进行拼接,降低了控制模块的处理负荷,提高了整个图像帧序列的拼接速度。

附图说明

[0025] 图1为本发明扫描识别装置的示意图;
[0026] 图2为本发明扫描识别装置的结构框图;
[0027] 图3为本发明扫描识别方法的流程图;
[0028] 图4为本发明扫描识别方法中步骤二的流程图;
[0029] 图5为本发明扫描识别装置和方法中图像帧组的示意图;
[0030] 图6为本发明扫描识别装置和方法实施例中各图像帧及相关数据的示意图;
[0031] 图7为本发明扫描识别装置和方法的实施例中全景二值图像;
[0032] 图8为本发明扫描识别装置和方法的实施例中全景二值图像进行倾斜校正后的结果示意图。
[0033] 图中:1、壳体 2、控制模块 3、电路板 4、电池 5、光学传感器6、按键 7、存储器 8、液晶屏 9、USB模块 10、显示单元 11、TTS模块12、镜头组 13、照明单元

具体实施方式

[0034] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 本发明公开了一种扫描识别装置,如图1、图2所示,包括如下组件:用于封装并固定装置组件的壳体1,用于图像处理及文字识别的控制模块2,用于集成组件的电路板3,用于为装置各组件供电的电池4,用于使字符成像的光学传感器5,用于触发采集操作的按键6,用于装载信号处理程序的存储器7,用于显示输出信息的液晶屏8,用于连接计算机的USB模块9,用于驱动液晶屏8的显示单元10和用于输出语音的TTS模块11。电路板3集成光学传感器5、存储器7、控制模块2、显示单元10、TTS模块11和USB模块9。壳体1封装液晶屏8、电池4、按键6和电路板3。按键6与电路板3上的光学传感器5连接,将控制信号发送到光学传感器5。光学传感器5对文本页中的被扫描字符进行连续拍摄,以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;控制模块2通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接,对拼接得到的全景图像倾斜校正后调用存储器7中的识别引擎进行字符识别,得到被扫描字符的字符编码。
[0036] 如图2所示,电路板3集成控制模块2、存储器7、光学传感器5、显示单元10、TTS模块11和USB模块9。控制模块2分别连接存储器7、光学传感器5、显示单元10和TTS模块11。在控制模块2的控制下,用户通过按键6触发,将控制信号发送到光学传感器5,光学传感器5进行图像信息采集,得到的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;控制模块2通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接,对拼接得到的全景图像倾斜校正后调用存储器7中的识别引擎进行字符识别,并将识别后形成的被扫描字符的字符编码在存储器7中进行存储。显示单元10可调用存储在存储器7中识别出的待扫描字符在液晶屏8上进行显示,控制模块2可根据控制信号将被扫描字符的字符编码发送到TTS模块11,由TTS模块11输出真人语音。
[0037] 所述控制模块2包括:
[0038] 设置单元,设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧;
[0039] 预测单元,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接信息的预测值;
[0040] 搜索单元,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值;
[0041] 更新单元,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至设置单元,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕;
[0042] 拼接单元、根据计算完毕的各基准帧、预测帧的拼接信息的计算值拼接为全景图像。
[0043] 如图1所示,本发明还包括,用于摄取图像信息的镜头组12;用于照明待扫描字符的照明单元13。所述镜头组12的焦距为5至7mm,光圈10以上,保证了镜头组12达到的景深为30至50mm,可以有效的将文字信息进行扫描,保证了良好的应用效果。当用户进行扫描时,照明单元13处于开启状态,照明单元13发出光束并在被扫描字符上形成光斑,同时镜头组12将照明单元13定位的图像信息摄取到集成于电路板3上的光学传感器5上,光学传感器5对被扫描字符进行连续拍摄,得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠。控制模块2根据所述装置的扫描速度将图像帧序列划分为图像帧组,对图像帧组中的图像帧进行筛选得到待拼接图像帧,并将各图像帧组对应的待拼接图像帧进行拼接,图像帧组包括基准帧、预测帧和跳过帧;其中,只有基准帧、预测帧参与拼接,从而形成全景图像。图像帧组中的跳过帧数目大于等于0。松开按键6时,光学传感器5停止对被扫描字符进行拍摄,本次图像扫描的过程结束。对拼接得到的全景图像倾斜校正后调用存储器7中的识别引擎进行字符识别,得到被扫描字符的字符编码并存储到存储器7中。
[0044] 本发明还公开了一种扫描识别方法,如图3所示,包括如下步骤:
[0045] 步骤一,对被扫描字符进行连续拍摄以得到含有被扫描字符的图像帧序列,所述图像帧序列中每帧图像的内容与前一帧图像的内容部分重叠;
[0046] 采用本发明所述装置选择被扫描字符时,按压按键6控制控制模块2将控制信号发送到光学传感器5,在选择被扫描字符时,光学传感器5同步对文本页中的被扫描字符进行连续拍摄,以得到含有被扫描字符的图像帧序列。在本实施例中,光学传感器5的采样率达到了120帧/秒。
[0047] 步骤二,装置中的控制模块通过重叠内容将图像帧序列中的每帧图像与相关的图像帧进行拼接合成一个全景图像;
[0048] 如图4所示,步骤二包括如下步骤:
[0049] 步骤a,控制模块设置图像帧序列中的当前帧的帧属性,形成图像帧组,帧属性包括基准帧、预测帧和跳过帧;
[0050] 对图像帧序列的第一帧进行特殊处理,将图像帧序列的第一帧的帧属性设为预测帧,将其水平拼接位移更新值设为0,竖直拼接位移更新值设为0,拼接方向更新值设为右下。本实施例中,如图5所示的图像帧序号为1的图像帧为本实施例中图像帧序列的第一帧。
[0051] 两图像帧之间的拼接信息包括水平拼接位移、竖直拼接位移及拼接方向;拼接信息的预测值是指通过预测得到的当前帧相对于模板帧的拼接信息;拼接信息的计算值是指通过计算得到的当前帧相对于模板帧的拼接信息;拼接信息的更新值表示通过计算得到的当前帧相对于当前帧紧邻的前一图像帧的拼接信息。
[0052] 图像帧序列被划分为图像帧组时,在图像帧组内的每一图像帧或者为基准帧或者为跳过帧或者为预测帧,此即为图像帧的帧属性。如果当前帧已经具有帧属性,则跳过该步骤,否则根据当前帧的前一图像帧的帧属性作如下处理:
[0053] 如果当前帧的前一图像帧的帧属性为预测帧,则设置当前帧的帧属性为基准帧;
[0054] 如果当前帧的前一图像帧的帧属性为基准帧,则当前帧的前一图像帧为一个新的图像帧组的开始,根据前一图像帧的拼接信息的更新值计算该图像帧组中的跳过帧数目,该图像帧组的最后一帧的帧属性设置为预测帧,基准帧和预测帧之间的图像帧的帧属性设置为跳过帧,
[0055] 扫描笔获取的整个图像帧序列中除第一帧用作初始化之外,剩余图像帧依据图像帧间的位移距离划分为多个连续的图像帧组。图像帧组的结构如图5所示,其第一帧为基准帧,最后一帧为预测帧,位于基准帧和预测帧之间设置为跳过帧。对于一个图像帧组而言,基准帧和预测帧是必需的,跳过帧的数目根据图像帧间的拼接位移的更新值确定,可以为0,也可以为多帧。在对两图像帧进行拼接时,前一图像帧称为模板帧,后一图像帧称为当前帧,由于本方法的图像帧组中存在跳过帧,所以当前帧和模板帧可能为时序紧邻的两图像帧,则跳过帧的数目为0;也可能在两者之间存在跳过帧,则跳过帧的数目为多帧。
[0056] 本实施例中相关的各图像帧如图6所示,具体包括图像帧序号、图像帧、拼接系数、水平拼接位移的预测值、水平拼接位移的计算值、水平拼接位移的更新值、竖直拼接位移的预测值、竖直拼接位移的计算值、竖直拼接位移的更新值、拼接方向的预测值、拼接方向的计算值、拼接方向的更新值及帧属性。其中,拼接系数为本实施例中用于计算图像帧拼接的度量指标,拼接方向共有四个取值,分别为右下、右上、左下、左上,帧属性有三个取值,分别为基准帧、跳过帧及预测帧。在本实施例中,各图像帧的大小为160×80,采样频率为120帧/秒。在本实施例中,为方便叙述,图像帧序号为X的图像帧称为第X图像帧。
[0057] 在本实施例中,各图像帧组的跳过帧的数目的计算方法如下:
[0058] 1)由于扫描笔的采样频率为120帧/秒,当前帧的前一图像帧的水平拼接位移更新值与竖直拼接位移更新值中的较大者小于等于4时,图像帧组内的跳过帧数目为3;
[0059] 2)由于扫描笔的采样频率为120帧/秒,当前帧的前一图像帧的水平拼接位移更新值与竖直拼接位移更新值中的较大者大于4且小于等于8时,图像帧组内的跳过帧数目为2;
[0060] 3)由于扫描笔的采样频率为120帧/秒,当前帧的前一图像帧的水平拼接位移更新值与竖直拼接位移更新值中的较大者大于8且小于等于16时,图像帧组内的跳过帧数目为1;
[0061] 4)由于扫描笔的采样频率为120帧/秒,当前帧的前一图像帧的水平拼接位移更新值与竖直拼接位移更新值中的较大者大于16时,图像帧组内的跳过帧数目为0。
[0062] 如图6中所示,对于第2图像帧,由于前一图像帧的帧属性为预测帧,故第2图像帧的帧属性设置为基准帧;对于第3图像帧,由于前一图像帧的帧属性为基准帧,且前一图像帧的水平拼接位移更新值与竖直拼接位移更新值中的较大者为0,小于等于4,则跳过帧的数目设为3,即第3、4、5图像帧的帧属性为跳过帧,第6图像帧的帧属性为预测帧。又如对第123图像帧,其前一图像帧的帧属性为基准帧,且前一图像帧的水平拼接位移的更新值与竖直拼接位移的更新值中较大者为9,大于8且小于等于16,则跳过帧的数目设为1,即第123、124图像帧的帧属性为预测帧;又如对第196图像帧,其前一图像帧的帧属性为基准帧,且前一图像帧的水平拼接位移的更新值与竖直拼接位移的更新值中较大者为38,大于16,则跳过帧的数目设为0,即第196图像帧的帧属性为预测帧。
[0063] 步骤b,根据当前帧的帧属性及相关图像帧的拼接信息的更新值计算当前帧的拼接信息的预测值;
[0064] 图像帧的拼接信息包括图像帧的拼接方向、图像帧的水平拼接位移和图像帧的竖直拼接位移;如果当前帧为基准帧或预测帧,则计算当前帧的拼接信息的预测值时,得到经预测得到的当前帧相对于模板帧的拼接信息,具体为:
[0065] 如果当前帧为基准帧,则将当前帧的前一图像帧所对应的拼接信息更新值作为当前帧的拼接信息的预测值。
[0066] 如果当前帧为预测帧,则根据当前图像帧组的基准帧对应的拼接信息的更新值计算当前帧的拼接信息的预测值。将当前图像帧组的基准帧的拼接方向的更新值作为当前帧的拼接方向的预测值;根据当前图像帧组的基准帧的水平拼接位移的更新值、当前图像帧组的基准帧的前一图像帧的水平拼接位移的更新值及当前图像帧组的跳过帧的数目进行计算,得到当前帧的水平拼接位移的预测值;根据当前图像帧组的基准帧的竖直拼接位移的更新值、当前图像帧组的基准帧的前一图像帧的竖直拼接位移的更新值及当前图像帧组的跳过帧的数目进行计算,得到当前帧的竖直拼接位移预测值。
[0067] 在本实施例中,扫描笔做匀加速运动,以各图像帧的水平拼接位移为例:当前帧为预测帧时,设当前图像帧组的基准帧的前一图像帧的水平拼接位移的更新值为so,设当前图像帧组的基准帧的水平拼接位移的更新值为sb,设当前图像帧组的跳过帧的数目为n,则当前帧的水平拼接位移的预测值为(n+1)sb+(n+1)(n+2)(sb-so)/2。
[0068] 如图6所示,如第2图像帧为基准帧,则将其前一图像帧的拼接信息的更新值作为当前帧的拼接信息的预测值;又如第6图像帧为预测帧,当前图像帧组的基准帧为第2图像帧,跳过帧的数目为3,则将第2图像帧的拼接方向的更新值作为其拼接方向的预测值,第1图像帧的水平拼接位移的更新值为0,第2图像帧的水平拼接位移的更新值为0,则当前图像帧的水平拼接位移的预测值为(3+1)×0+(3+1)(3+2)(0-0)/2=0,同样可计算得到当前图像帧的竖直拼接位移的预测值为0;又如第124图像帧为预测帧,当前图像帧组的基准帧为第122图像帧,跳过帧的数目为1,则将第122图像帧的拼接方向的更新值作为其拼接方向预测值,第121图像帧的水平拼接位移的更新值为8,第122图像帧的水平拼接位移的更新值为9,则当前帧的水平拼接位移的预测值为(1+1)×9+(1+1)(1+2)(9-8)/2=21,同样可计算得到当前帧的竖直拼接位移的预测值为6。
[0069] 步骤c,根据当前帧的拼接信息的预测值搜索当前帧的拼接信息的计算值;
[0070] 得到预测值后,以当前帧的拼接信息的预测值为中心,形成搜索窗口,计算该窗口内各像素点处的拼接系数,将拼接系数的最大值对应的像素点处的拼接信息作为当前帧拼接信息的计算值。
[0071] 图像拼接时首先基于一些度量指标来计算拼接信息,实际中两图像帧之间只有一个最佳拼接位置,但是根据度量指标获取的最佳拼接位置却有可能并不是实际的最佳拼接位置,这会导致拼接错误。为了保证拼接的正确性,以当前帧的拼接信息的预测值为中心,形成搜索窗口,计算该窗口内各像素点处的拼接系数,将拼接系数的最大值对应的像素点处的拼接信息作为当前帧拼接信息的计算值。
[0072] 拼接系数即为二值化后的两图像帧在重叠区域中重合的黑像素点数目除以重叠区域中黑像素点总数的值。本实施例中,如图6所示,第196图像帧的拼接方向的预测值为右下,水平拼接位移的预测值为38,竖直拼接位移的预测值为8,以该预测值为中心点,预测窗口为11×11,计算预测窗口中的各像素点的拼接系数,得到拼接系数的最大值为0.8704,对应的像素点在预测窗口内的相对坐标为(3,1),则将该点对应的拼接信息作为拼接信息的计算值,得到水平方向上拼接信息的计算值为37,竖直方向上拼接信息的计算值为8。
[0073] 步骤d,根据当前帧的拼接信息的计算值计算当前帧的拼接信息的更新值,转至步骤a,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕;
[0074] 计算当前帧的拼接信息的更新值时:如果当前帧为基准帧,将当前帧的拼接信息的计算值作为当前帧的拼接信息更新值。如果当前帧为预测帧,如果当前图像帧组的跳过帧数目为0,则当前帧的拼接信息的更新值即为当前帧的拼接信息的计算值;否则,将当前帧的拼接方向的计算值作为当前帧的拼接方向的更新值;根据当前帧的水平拼接位移的计算值、当前图像帧组的基准帧的水平拼接位移计算值及当前图像帧组中的跳过帧数目进行计算,得到当前帧的水平拼接位移的更新值;根据当前帧的竖直拼接位移的计算值、当前图像帧组的基准帧的竖直拼接位移的计算值及当前图像帧组中的跳过帧数目进行计算,得到当前帧的竖直拼接位移的更新值。
[0075] 在本实施例中,扫描笔做匀加速运动,以当前帧的水平拼接位移为例:当前帧为预测帧且当前图像帧组的跳过帧数目大于0时,设当前图像帧组的基准帧的水平拼接位移的计算值为su,设当前帧的水平拼接位移的计算值为s,设当前图像帧组的跳过帧的数目为n,则当前帧的水平拼接位移的更新值为(2s-nsu)/(n+2)。
[0076] 如图6所示,如第6图像帧为预测帧,当前图像帧组的基准帧为第2图像帧,跳过帧的数目为3,则将第6图像帧的拼接方向的计算值作为其拼接方向更新值,当前图像帧组的基准帧的水平拼接位移的计算值为0,当前图像帧的水平拼接位移的计算值为4,则当前图像帧的水平拼接位移的更新值为(2×5-3×0)/(3+2)=2,同样可计算得到当前图像帧的竖直拼接位移的预测值为0。又如第124图像帧为预测帧,当前图像帧组的基准帧为第122图像帧,跳过帧的数目为1,则将第124图像帧的拼接方向计算值作为其拼接方向更新值,当前图像帧组的基准帧的水平拼接位移的计算值为9,当前图像帧的水平拼接位移的计算值为21,则当前图像帧的水平拼接位移的更新值为(2×21-1×9)/(1+2)=11,同样可计算得到当前图像帧的竖直拼接位移的预测值为4。
[0077] 由于本方法在扫描笔进行扫描时逐图像帧进行处理,处理完毕当前帧后转至步骤a处理当前帧的下一帧,直至图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕。扫描笔对文本页执行完一次扫描过程时,对于图像帧序列中最后一图像帧,将该图像帧的帧属性设置为预测帧,从而形成一个完整的图像帧组,该图像帧的帧属性设置为预测帧后转至步骤a,经步骤b、步骤c和步骤d得到该预测帧的拼接信息的更新值,从而使图像帧序列中各基准帧、预测帧的拼接信息的更新值计算完毕。
[0078] 步骤e、根据计算完毕的各基准帧、预测帧的拼接信息的计算值拼接为全景图像。根据图像帧序列中的各基准帧、预测帧以及各基准帧、预测帧对应的拼接信息即可获取全景图像,本实施例中,最终获取的全景二值图像如图7所示。
[0079] 步骤三,对所述全景图像进行倾斜校正后进行字符识别,得到被扫描字符的字符编码。
[0080] 控制模块调用存储器中的字符识别引擎对拼接得到的全景图像进行识别,在字符识别之前首先对拼接得到的全景图像进行倾斜校正,将全景图像中的各字符形成水平文字行后,如图8所示,再调用字符识别引擎进行识别,得到被扫描字符的字符编码。识别后形成的被扫描字符的字符编码在存储器中进行存储。显示单元可调用存储在存储器中识别出的待扫描字符在液晶屏上进行显示,控制模块可根据控制信号将被扫描字符的字符编码发送到TTS模块,由TTS模块输出真人语音。
[0081] 本发明公开了一种扫描识别装置和方法,针对扫描笔获取的图像帧序列进行拼接。在扫描笔获取的图像序列中,除了存在当前图像帧与其前一帧图像存在重叠内容的情况外,还存在当前图像帧与其前一帧图像之前的一个或多个图像帧存在重叠内容的情况,为了提高图像帧序列拼接的处理速度,降低控制模块的处理负荷,本发明通过控制模块对光学传感器采集到的图像帧序列中的图像帧进行筛选。整个图像帧序列依据图像帧间的位移划分为连续的多个图像帧组,对图像帧组中的基准帧和预测帧进行拼接计算,对于图像帧组中的跳过帧则可以直接跳过,从而提高了整个图像帧序列的拼接速度。
[0082] 以上对本发明所提供的一种扫描识别装置和方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。