图像处理方法、介质及电子设备与流程

文档序号:33183657发布日期:2023-02-04 05:39阅读:84来源:国知局
图像处理方法、介质及电子设备与流程

1.本发明涉及一种图像处理方法,特别是涉及一种图像处理方法、介质及电子设备。


背景技术:

2.随着技术的不断发展,扫描设备逐渐向小型化、智能化方向发展。现有扫描设备(例如微型扫描仪、扫描笔、扫读笔等)的工作原理如下:扫描设备在移动过程中连续对目标对象进行扫描从而获得多帧图像,在此基础上,利用图像处理器对获取的多帧图像进行拼接从而获取目标对象的扫描图像。然而,发明人在实际应用中发现,扫描设备获取的连续两帧或多帧图像之间往往存在重叠区域,这些帧图像并不能简单地进行拼接,因此,如何提供一种能够对帧图像进行拼接的技术方案已成为相关技术人员亟需解决的技术问题之一。


技术实现要素:

3.鉴于以上所述现有技术的缺点,本发明的目的在于提供一种图像处理方法、介质及电子设备,用于解决现有技术中存在的上述问题。
4.为实现上述目的及其他相关目的,本发明的第一方面提供一种图像处理方法,所述图像处理方法包括:获取第一帧图像和第二帧图像;获取所述第一帧图像和所述第二帧图像的互功率谱;根据所述互功率谱获取对应的冲击响应图;根据所述冲击响应图中像素点的响应值获取所述第一帧图像和所述第二帧图像的第一偏移量;根据所述第一偏移量获取所述第一帧图像和所述第二帧图像之间的实际偏移量;根据所述实际偏移量将所述第一帧图像与所述第二帧图像进行拼接。
5.于所述第一方面的一实施例中,根据所述冲击响应图中像素点的响应值获取所述第一帧图像和所述第二帧图像的第一偏移量的实现方法包括:在所述冲击响应图中获取第一像素点,其中,所述第一像素点是指所述冲击响应图中响应值最大的像素点;对所述冲击响应图进行滤波以获取滤波图;在所述滤波图中获取第二像素点,其中,所述第二像素点是指所述滤波图中响应值最大的像素点;在所述冲击响应图中获取第三像素点,其中,所述第三像素点是指所述冲击响应图中与所述第二像素点对应的像素点;获取第一区域内所有像素点的总响应值,其中,所述第一区域包含所述第一像素点;获取第二区域内所有像素点的总响应值,其中,所述第二区域包含所述第三像素点,且所述第二区域的形状和尺寸与所述第一区域相同;根据所述第一区域内所有像素点的总响应值和所述第二区域内所有像素点的总响应值从所述第一区域和所述第二区域中选取一参考区域;根据所述参考区域的重心坐标和所述冲击响应图的中心坐标获取所述第一偏移量。
6.于所述第一方面的一实施例中,根据所述第一偏移量将所述第一帧图像与所述第二帧图像进行拼接的实现方法包括:根据所述参考区域内所有像素点的总响应值、所述冲击响应图的宽度和高度获取匹配响应值;根据所述匹配响应值和所述第一偏移量判断所述第一帧图像和所述第二帧图像是否能够拼接;若所述第一帧图像和所述第二帧图像能够拼接,则根据所述第一偏移量将所述第一帧图像与所述第二帧图像进行拼接;若所述第一帧
图像与所述第二帧图像不能够拼接,获取所述第二帧图像的下一帧作为新的第二帧图像,并将所述第一帧图像与所述新的第二帧图像进行拼接。
7.于所述第一方面的一实施例中,在获取所述第一帧图像和所述第二帧图像的互功率谱以前,所述图像处理方法还包括:对所述第一帧图像和所述第二帧图像的左侧、上方和下方进行扩展;对扩展以后的所述第一帧图像和所述第二帧图像进行加窗。
8.于所述第一方面的一实施例中,对所述第一帧图像和所述第二帧图像的左侧进行扩展的实现方法包括:根据所述第一帧图像中的左侧至少一列像素点对所述第一帧图像的左侧和所述第二帧图像的左侧进行扩展;和/或对所述第一帧图像和所述第二帧图像的上方和下方进行扩展的实现方法包括:根据所述第一帧图像中的上部多行像素点对所述第一帧图像的下方进行扩展;根据所述第一帧图像中的下部多行像素点对所述第一帧图像的上方进行扩展;根据所述第二帧图像中的上部多行像素点对所述第二帧图像的下方进行扩展;根据所述第二帧图像中的下部多行像素点对所述第二帧图像的上方进行扩展。
9.于所述第一方面的一实施例中,在将所述第一帧图像与所述第二帧图像进行拼接并获取拼接图像以后,所述图像处理方法还包括:将所述第二帧图像作为新的第一帧图像;获取新的第二帧图像,其中,所述新的第二帧图像是指所述新的第一帧图像的下一帧图像;获取新的第一偏移量;根据所述新的第一偏移量将所述新的第二帧图像与所述拼接图像进行拼接,以获取新的拼接图像。
10.于所述第一方面的一实施例中,在将所述第一帧图像与所述第二帧图像进行拼接以后,所述图像处理方法还包括:获取拼接图像中的连通区域,其中,所述拼接图像至少由所述第一帧图像和所述第二帧图像拼接得到;获取各所述连通区域的外接矩形框;根据所述外接矩形框对所述拼接图像进行分割以获取至少一个图像块,其中,各所述图像块均包含整数个所述外接矩形框。
11.于所述第一方面的一实施例中,获取所述第一帧图像和所述第二帧图像的互功率谱的实现方法包括:获取第二偏移量;获取所述第一帧图像的一子图像,其中,所述子图像位于所述第一帧图像背离偏移方向的一侧,且所述子图像的宽度由所述第一帧图像的宽度和所述第二偏移量之间的差值决定;获取所述子图像和所述第二帧图像的互功率谱作为所述第一帧图像和所述第二帧图像的互功率谱。
12.本发明的第二方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面任一项所述的图像处理方法。
13.本发明的第三方面提供一种电子设备,所述电子设备包括:存储器,存储有一计算机程序;处理器,与所述存储器通信相连,调用所述计算机程序时执行本发明第一方面任一项所述的图像处理方法。
14.如上所述,本发明一个或多个实施例中所述的图像处理方法具有以下有益效果:
15.所述图像处理方法能够根据第一帧图像和第二帧图像的互功率谱获取对应的冲击响应图,并根据冲击响应图中像素点的响应值获取第一偏移量。基于所述第一偏移量,所述图像处理方法能够将所述第一帧图像与所述第二帧图像进行拼接,从而得到拼接图像。
附图说明
16.图1a显示为本发明所述图像处理方法于一具体实施例中的流程图。
17.图1b显示为本发明所述图像处理方法于一具体实施例中获取的冲击响应图示例。
18.图1c显示为本发明所述图像处理方法于一具体实施例中的帧图像示意图。
19.图1d显示为本发明所述图像处理方法于一具体实施例中的拼接图像示意图。
20.图2a显示为本发明所述图像处理方法于一具体实施例中步骤s14的详细流程图。
21.图2b显示为本发明所述图像处理方法于一具体实施例中的滤波图示例。
22.图2c显示为本发明所述图像处理方法于一具体实施例中的关键步骤流程图。
23.图3a显示为本发明所述图像处理方法于一具体实施例中的关键步骤流程图。
24.图3b~3g显示为本发明所述图像处理方法于一具体实施例中的帧图像示意图。
25.图4显示为本发明所述图像处理方法于一具体实施例中的关键步骤流程图。
26.图5a显示为本发明所述图像处理方法于一具体实施例中获取的拼接图像示例。
27.图5b显示为相关技术中获取的分割图像示例。
28.图5c显示为本发明所述图像处理方法于一具体实施例中对拼接图像进行分割的流程图。
29.图5d显示为本发明所述图像处理方法于一具体实施例中获取的外接矩形框示例图。
30.图5e显示为本发明所述图像处理方法于一具体实施例中获取的分割图像示例图。
31.图5f显示为本发明所述图像处理方法于一具体实施例中步骤s53的详细流程图。
32.图6a显示为本发明所述图像处理方法于一具体实施例中的关键步骤流程图。
33.图6b显示为本发明所述图像处理方法于一具体实施例中获取的帧图像示意图。
34.图7a显示为本发明所述图像处理方法于一具体实施例中步骤s61的详细流程图。
35.图7b显示为本发明所述图像处理方法于一具体实施例中的直线图像示例图。
36.图7c显示为本发明所述图像处理方法于一具体实施例中步骤s611的详细流程图。
37.图7d显示为本发明所述图像处理方法于一具体实施例中获取的帧图像示例图。
38.图7e显示为本发明所述图像处理方法于一具体实施例中获取的二值化梯度图像示例图。
39.图7f和图7g显示为本发明所述图像处理方法于一具体实施例中的二值化图像示例图。
40.图7h显示为本发明所述图像处理方法于一具体实施例中步骤s612的详细流程图。
41.图8显示为本发明所述图像处理方法于一具体实施例中的流程图。
42.图9显示为本发明所述电子设备于一具体实施例中的结构示意图。
43.元件标号说明
44.11
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一帧图像
45.111
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
子图像
46.12
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二帧图像
47.900
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
电子设备
48.910
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储器
49.920
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理器
50.930
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
显示器
51.s11~s16
ꢀꢀꢀꢀ
步骤
52.s141~s148
ꢀꢀ
步骤
53.s21~s24
ꢀꢀꢀꢀ
步骤
54.s31~s32
ꢀꢀꢀꢀ
步骤
55.s41~s44
ꢀꢀꢀꢀ
步骤
56.s51~s53
ꢀꢀꢀꢀ
步骤
57.s531~s532
ꢀꢀ
步骤
58.s61~s63
ꢀꢀꢀꢀ
步骤
59.s611~s612
ꢀꢀꢀꢀ
步骤
60.s6111~s6114
ꢀꢀ
步骤
61.s6121~s6123
ꢀꢀ
步骤
62.s801~s813
ꢀꢀꢀꢀ
步骤
具体实施方式
63.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
64.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。此外,在本文中,诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
65.扫描设备获取的连续两帧或多帧图像之间往往存在重叠区域,这些帧图像并不能简单地进行拼接,针对这一问题,于本发明的一实施例中提供一种图像处理方法,请参阅图1a,本实施例中所述图像处理方法包括:
66.s11,获取第一帧图像和第二帧图像,其中,所述第一帧图像和所述第二帧图像可以为扫描设备扫描到的连续两帧图像,也可以为间隔一帧或多帧的两帧图像。
67.可选地,在获取到所述第一帧图像和所述第二帧图像以后,本实施例所述图像处理方法还包括:对所述第一帧图像和所述第二帧图像进行透视变换预校正,以使所述第一帧图像和所述第二帧图像中的文字更加均衡。
68.s12,获取所述第一帧图像和所述第二帧图像的互功率谱。可选地,所述互功率谱为规格化互功率谱,获取所述规格化互功率谱的方法例如为:其中,f1(u,v)和f2(u,v)分别为f1(x,y)和f2(x,y)的傅里叶变换,f1(x,y)为所述第一帧图像的函数表示,其参数为所述第一帧图像内的点坐标,其函数值为对应点的像素值,f2(x,y)为所述第二帧图像的函数表示,其参数为所述第二帧图像内
的点坐标,其函数值为对应点的像素值。
69.s13,根据所述互功率谱获取对应的冲击响应图。具体地,可以对所述互功率谱做傅里叶反变换来得到所述冲击响应图,例如,请参阅图1b,显示为本实施例中获取的一冲击响应图示例。
70.s14,根据所述冲击响应图中像素点的响应值获取所述第一帧图像和所述第二帧图像的第一偏移量。例如,可以选取所述冲击响应图中响应值最大的像素点作为第一像素点,并获取该第一像素点到所述冲击响应图中心点的距离作为所述第一偏移量。
71.s15,根据所述第一偏移量获取所述第一帧图像和所述第二帧图像之间的实际偏移量。具体地,当所述互功率谱是根据完整的第一帧图像和第二帧图像得到时,所述第一偏移量即为所述第一帧图像与所述第二帧图像之间的实际偏移量。
72.s16,根据所述实际偏移量将所述第一帧图像与所述第二帧图像进行拼接。
73.可选地,步骤s16可以在所述第一帧图像内沿偏移方向的一侧提取一宽度为所述实际偏移量的子图像,将该子图像拼接至所述第二帧图像沿所述偏移方向的一侧即可获取所述第一帧图像和所述第二帧图像的拼接图像。或者,在所述第二帧图像内背离所述偏移方向的一侧提取一宽度为所述实际偏移量的子图像,将该子图像拼接至所述第一帧图像背离所述偏移方向的一侧即可获取所述第一帧图像和所述第二帧图像的拼接图像。其中,所述偏移方向为扫描设备移动方向的反方向,所述偏移方向例如为自左向右或自右向左。当所述偏移方向为自左向右时,沿所述偏移方向的一侧为右侧,背离所述偏移方向的一侧为左侧;当所述偏移方向为自右向左时,沿所述偏移方向的一侧为左侧,背离所述偏移方向的一侧为右侧。
74.例如,请参阅图1c,所述第一帧图像和所述第二帧图像之间的实际偏移量为2l。并且,图1c中扫描设备的移动方向(也即扫描方向)为自左向右,因而所述偏移方向为自右向左。因此,可以在所述第一帧图像11的左侧提取宽度为2l的子图像并将其拼接至所述第二帧图像12的左侧得到图1d所示的拼接图像,也可以在所述第二帧图像12的右侧提取宽度为2l的子图像并将其拼接至所述第一帧图像11的右侧得到图1d所示的拼接图像。
75.可选地,步骤s16也可以根据所述实际偏移量获取所述第一帧图像和所述第二帧图像之间的重叠区域,并以覆盖所述重叠区域的形式将所述第二帧图像拼接至所述第一帧图像。
76.根据以上描述可知,本实施例所述图像处理方法能够根据第一帧图像和第二帧图像的互功率谱获取对应的冲击响应图,并根据冲击响应图中像素点的响应值获取第一偏移量。基于所述第一偏移量,所述图像处理方法能够将所述第一帧图像与所述第二帧图像进行拼接,从而得到拼接图像。
77.于本发明的一实施例中,考虑到步骤s14中直接选取响应值最大的像素点作为参考像素点可能会存在误差,请参阅图2a,本实施例中根据所述冲击响应图中像素点的响应值获取所述第一偏移量的一种优选实现方法为:
78.s141,在所述冲击响应图中获取第一像素点,其中,所述第一像素点是指所述冲击响应图中响应值最大的像素点,实际应用中可以通过遍历等方式在所述冲击响应图中获取所述第一像素点。
79.需要说明的是,选取冲击响应图中响应值最大的像素点作为所述第一像素点仅为
一种较佳实施方法,但本发明并不以此为限,实际应用中也可以选取所述冲击响应图中响应值相对较大的像素点作为所述第一像素点,例如,响应值第二大的像素点、第三大的像素点等。
80.s142,对所述冲击响应图进行滤波以获取滤波图,其中,所述滤波例如为均值滤波,所述滤波图的尺寸优选为与所述冲击响应图相同。请参阅图2b,显示为本实施例中获取的一滤波图的示例。
81.s143,在所述滤波图中获取第二像素点,其中,所述第二像素点是指所述滤波图中响应值最大的像素点,实际应用中可以通过遍历等方式在所述滤波图中获取所述第二像素点。
82.需要说明的是,选取滤波图中响应值最大的像素点作为所述第二像素点仅为一种较佳实施方法,但本发明并不以此为限,实际应用中也可以选取所述滤波图中响应值相对较大的像素点作为所述第二像素点,例如,响应值第二大的像素点、第三大的像素点等。
83.s144,在所述冲击响应图中获取第三像素点,其中,所述第三像素点是指所述冲击响应图中与所述第二像素点对应的像素点。例如,所述第三像素点可以为所述冲击响应图中与所述第二像素点位置相同的像素点。
84.s145,获取第一区域内所有像素点的总响应值,其中,所述第一区域包含所述第一像素点。例如,可以选取所述第一像素点周围一几何区域,例如3
×
3的矩形区域,作为所述第一区域。具体地,步骤s145可以将所述第一区域内所有像素点的响应值相加得到所述第一区域内所有像素点的总响应值。
85.s146,获取第二区域内所有像素点的总响应值,其中,所述第二区域包含所述第三像素点,且所述第二区域的形状、尺寸和位置与所述第一区域相同。具体地,步骤s146可以将所述第二区域内所有像素点的响应值相加得到所述第二区域内所有像素点的总响应值。
86.s147,根据所述第一区域内所有像素点的总响应值和所述第二区域内所有像素点的总响应值从所述第一区域和所述第二区域中选取一参考区域。例如,可以在所述第一区域和所述第二区域中选取总响应值最大的一个作为所述参考区域。
87.s148,根据所述参考区域的重心坐标和所述冲击响应图的中心坐标获取所述第一偏移量。具体地,若所述参考区域为所述第一区域,获取所述第一区域的重心点与所述冲击响应图的中心点之间的距离作为所述第一偏移量;若所述参考区域为所述第二区域,获取所述第二区域的重心点与所述滤波图的中心点之间的距离作为所述第一偏移量。
88.根据以上描述可知,步骤s141~s148提供了一种获取第一偏移量的方式,通过此种方式获取的第一偏移量具有较高的准确度。
89.可选地,实际图像在缩放后可能会产生摩尔纹,进而会影响到所述第一偏移量的准确性,针对这一问题,请参阅图2c,本实施例中所述图像处理方法还包括:
90.s21,根据所述参考区域内所有像素点的总响应值、所述冲击响应图的宽度和高度获取匹配响应值。其中,所述匹配响应值用于表示所述第一帧图像与所述第二帧图像之间的匹配程度,其数值越大则说明二者之间的匹配程度越高。本实施例中,所述匹配响应值优选为其中,sum_max为所述参考区域内所有像素点的总响应值,imgr_w和imgr_h分别为所述冲击响应图的宽度和高度。
91.s22根据所述匹配响应值和所述第一偏移量判断所述第一帧图像和所述第二帧图像是否能够拼接。具体地,若所述匹配响应值大于一响应阈值,且所述第一偏移量大于一偏移阈值,则所述第一帧图像和所述第二帧图像能够拼接,否则,所述第一帧图像和所述第二帧图像的匹配结果误差较大,二者不能够拼接。其中,所述响应阈值和所述偏移阈值可以根据实际需求或者经验设置。
92.s23,若所述第一帧图像和所述第二帧图像能够拼接,则根据所述第二偏移量和所述第一偏移量将所述第一帧图像与所述第二帧图像进行拼接。
93.s24,若所述第一帧图像与所述第二帧图像不能够拼接,获取所述第二帧图像的下一帧作为新的第二帧图像,并将所述第一帧图像与所述新的第二帧图像进行拼接。此时,需要根据图1a所示的步骤s12~s14来获取新的互功率谱、新的冲击响应图以及新的第一偏移量,并基于所述新的第一偏移量对所述第一帧图像和所述新的第二帧图像进行拼接。
94.根据以上描述可知,本实施例能够根据匹配响应值来判断是否重新选取新的第二帧图像,此种方式能够避免将不匹配的帧图像进行拼接,从而消除摩尔纹等误差因素的干扰,有利于获取更准确的第一偏移量。
95.请参阅图3a,于本发明的一实施例中,所述偏移方向为自右向左,在获取所述第一帧图像和所述第二帧图像的互功率谱以前,所述图像处理方法还包括:
96.s31,对所述第一帧图像和所述第二帧图像的左侧、上方和下方进行扩展。
97.s32,对扩展以后的所述第一帧图像和所述第二帧图像进行加窗,例如,可以对所述第一帧图像和所述第二帧图像加汉明窗。
98.本实施例中,步骤s31通过对所述第一帧图像和所述第二帧图像进行扩展,使得步骤s32的加窗操作不会对所述第一帧图像和所述第二帧图像的实质内容产生影响。此外,步骤s32通过对所述第一帧图像和所述第二帧图像进行加窗能够防止频谱泄露,因而能够准确地获取所述第一帧图像和所述第二帧图像的互功率谱。
99.需要说明的是,当所述偏移方向为自左向右时,步骤s31可以修改为对所述第一帧图像和所述第二帧图像的右侧、上方和下方进行扩展。
100.可选地,本实施例中对所述第一帧图像的左侧进行扩展的实现方法包括:根据所述第一帧图像中的左侧至少一列像素点对所述第一帧图像的左侧进行扩展。
101.具体地,根据所述第一帧图像中的左侧至少一列像素点对所述第一帧图像的左侧进行扩展的实现方法包括:将所述第一帧图像中的左侧至少一列像素点复制至少一次后添加至所述第一帧图像的左侧。例如,请参阅图3b和图3c,其中,图3b显示为所述第一帧图像的一示例图,其包含像素点11~89,图3c显示为对所述第一帧图像的左侧进行扩展之后得到的图像示例图,具体地,将图3b中的第一列像素点复制两次之后添加到所述第一帧图像的左侧,即可完成对所述第一帧图像的左侧进行扩展。需要说明的是,以上仅为一个实例,但本发明并不以此为限,例如,可以复制所述第一帧图像中左侧的两列或多列像素点添加到所述第一帧图像的左侧。此外,对所述第一帧图像中左侧的至少一列像素点进行复制的次数可以根据实际需求设置,优选地,所述第一帧图像左侧扩展区的宽度为所述第一帧图像宽度的1/4。
102.此外,所述第二帧图像也可以采用与上述类似的方法实现。优选地,为了提升所述第二帧图像与所述第一帧图像的区域一致性以及匹配程度,本实施例中可以根据所述第一
帧图像中的左侧至少一列像素点对所述第二帧图像的左侧进行扩展。
103.具体地,根据所述第一帧图像中的左侧至少一列像素点对所述第二帧图像的左侧进行扩展的一种实现方法包括:将所述第一帧图像中的左侧至少一列像素点复制至少一次后添加至所述第二帧图像的左侧。例如,请参阅图3d和图3e,其中,图3d显示为所述第二帧图像的一示例图,其包含像素点14~8c,图3e显示为对所述第二帧图像的左侧进行扩展之后得到的图像示例图,具体地,将所述第一帧图像的第一列像素点复制两次之后添加到所述第二帧图像的左侧。需要说明的是,以上仅为一个实例,但本发明并不以此为限,例如,可以复制所述第一帧图像中左侧的两列或多列像素点添加到所述第二帧图像的左侧。此外,对所述第一帧图像中左侧的至少一列像素点进行复制的次数可以根据实际需求设置,优选地,所述第二帧图像左侧扩展区的宽度为所述第二帧图像宽度的1/4。
104.此外,根据所述第一帧图像的左侧至少一列像素点对所述第二帧图像的左侧进行扩展的另一种实现方法包括:将所述第一帧图像的左侧扩展区复制到所述第二帧图像的左侧。
105.可选地,本实施例中根据所述第一帧图像中的上部多行像素点对所述第一帧图像的下方进行扩展,且根据所述第一帧图像中的下部多行像素点对所述第一帧图像的上方进行扩展。例如,请参阅图3f,可以将所述第一帧图像中的最下两行像素点复制到所述第一帧图像的上方以实现对所述第一帧图像的上方进行扩展,将所述第一帧图像中的最上两行像素点复制到所述第一帧图像的下方以实现对所述第一帧图像的下方进行扩展。需要说明的是,以上仅为一种实例,但本发明并不以此为限,实际应用中可以根据实际需求将所述第一帧图像最上的两行或多行像素点复制到所述第一帧图像的下方,或将所述第一帧图像最下的两行或多行像素点复制到所述第一帧图像的上方。优选地,所述第一帧图像上方扩展区的高度和/或下方扩展区的高度为所述第一帧图像高度的1/4。
106.此外,本实施例中根据所述第二帧图像中的上部多行像素点对所述第二帧图像的下方进行扩展,并根据所述第二帧图像中的下部多行像素点对所述第二帧图像的上方进行扩展。具体方式与所述第一帧图像类似,此处不做过多赘述。
107.本实施例中对所述第一帧图像的左侧、上方和下方进行扩展之后得到的一示例图如图3g所示,可以看出,在扩展之后进行加窗不会导致边缘区域信息的丢失。此外,本实施例可以根据所述第一帧图像中的左侧至少一列像素点对所述第二帧图像的左侧进行扩展,此种方式能够提升扩展之后所述第一帧图像和所述第二帧图像的匹配程度,进而提升匹配速度和拼接速度,并且,此种方式还能够提升匹配分数和拼接准确度。
108.请参阅图4,于本发明的一实施例中,在将所述第一帧图像与所述第二帧图像进行拼接并获取拼接图像以后,所述图像处理方法还包括:
109.s41,将所述第二帧图像作为新的第一帧图像。
110.s42,获取新的第二帧图像,其中,所述新的第二帧图像是指所述新的第一帧图像的下一帧图像。
111.s43,获取新的第一偏移量,具体地,可以通过图1a所示步骤s12~s14类似的方法获取所述新的第一偏移量。
112.s45,根据所述新的第一偏移量将所述新的第二帧图像与所述拼接图像进行拼接,以获取新的拼接图像。具体地,可以在所述新的第二帧图像背离所述偏移方向的一侧提取
一子图像拼接至当前拼接图像背离所述偏移方向的一侧,以获取新的拼接图像,其中,该子图像的宽度为所述新的第一帧图像与所述新的第二帧图像之间的实际偏移量。
113.可以理解的是,在步骤s45以后,还可以循环执行上述步骤s41~s45,在每次循环时均将上一循环中步骤s42获取的第二帧图像作为本次循环中步骤s41所述新的第一帧图像,以此将扫描设备获取到的帧图像逐一拼接至所述拼接图像,进而获取最终的拼接图像。
114.实际应用中,在对帧图像进行拼接以后会得到长条形的拼接图像,例如图5a所示,其后还需要对拼接图像进行分割以获取多个图像块发送至其他模块,例如文字识别模块等,而相关技术中在对拼接图像进行分割时经常会出现将单个文字分割为两部分的情况,例如图5b中的“筑”字。针对这一问题,请参阅图5c,于本发明的一实施例中,在将所述第一帧图像与所述第二帧图像进行拼接以后,所述图像处理方法还包括:
115.s51,获取拼接图像中的连通区域,其中,所述拼接图像可以由所述第一帧图像与所述第二帧图像拼接得到,也可以由所述第一帧图像、所述第二帧图像及其后的一帧或多帧图像拼接得到。
116.可选地,获取所述拼接图像中的连通区域的实现方法可以包括:获取所述拼接图像的梯度图,并对所述梯度图进行二值化处理,其后,采用连通区域的相关算法在所述梯度图中提取白色区域每个独立块的轮廓即可获取所述拼接图像中的连通区域。优选地,在提取得到所述白色轮廓以后,还可以删除轮廓较小的独立块,以减少噪声影响。
117.s52,获取各所述连通区域的外接矩形框。具体地,可以采用外接矩形的相关算法获取各所述连通区域的外接矩形框,例如,请参阅图5d,显示为本实施例中获取的外接矩形框示例图。优选地,可以根据所述外接矩形框的纵向位置,或者相邻矩形框在纵向上的重合程度,判断所述外接矩形框所在的行。此外,还可以采用不同颜色的外接矩形框代表不同的行。理想情况下,每一所述外接矩形框中均包含一完整的文字或标点符号。
118.s53,根据所述外接矩形框对所述拼接图像进行分割,以获取至少1个图像块,其中,每一所述图像块均包含整数个所述外接矩形框。例如,请参阅图5e,显示为本实施例中获取的一图像块示例图。
119.根据以上描述可知,本实施例能够保证对拼接图像进行分割后获得的图像块中包含整数个外接矩形框,因而能够尽可能的保证文字在水平方向不会被分割为两部分,有利于其他模块对图像块的处理。
120.可选地,请参阅图5f,根据所述外接矩形框对所述拼接图像进行分割的实现方法包括:
121.s531,根据所述外接矩形框的纵向位置获取目标矩形框,其中,所述目标矩形框是指对应于目标行的外接矩形框。具体地,所述目标行可以由用户指定,或者默认为所述拼接图中包含完整文字的行,例如图5b所示的第1行。根据所述外接矩形框的纵向位置与所述目标行的纵向位置之间的关系即可获取所述目标矩形框。
122.s532,根据一预设宽度在所述拼接图像的一侧选取整数个所述目标矩形框,并根据选取结果对所述拼接图像进行分割,以获取一个所述图像块和新的拼接图像。例如,可以沿所述偏移方向的反方向(例如图5d中自左往右)依次获取各目标矩形块与所述拼接图像最左端的距离,若某一目标矩形框与所述拼接图像最左端的距离大于所述预设宽度,则在其上一目标矩形框的右边与该目标矩形块的左边之间任选一条竖直直线作为分割线对所
述拼接图像进行分割,以获取一个所述图像块和新的拼接图像。
123.可以理解的是,上述步骤s532可以循环执行,具体地,在每次循环中都将上一次循环中获取的新的拼接图像作为本次循环的拼接图像,根据所述预设宽度在本次循环的拼接图像的一侧选取整数个所述目标矩形框,并根据选取结果对本次循环的拼接图像进行分割以获取一个图像块和新的拼接图像。
124.请参阅图6a,于本发明的一实施例中,获取所述第一帧图像和所述第二帧图像的互功率谱的实现方法包括:
125.s61,获取第二偏移量,其中,所述第二偏移量为一预估值,用于大致描述所述第一帧图像和所述第二帧图像之间的实际偏移量。此时,所述第一偏移量用于对所述第二偏移量进行修正以获取所述第一帧图像和所述第二帧图像之间的总偏移量,所述总偏移量即为所述第一帧图像和所述第二帧图像之间的实际偏移量。本实施例中,所述第一偏移量可以为正值也可以为负值:当所述第一偏移量为正值时,说明所述第二偏移量小于实际偏移量,需要将所述第二偏移量往正方向修正;当所述第一偏移量为负值时,说明所述第二偏移量大于实际偏移量,需要将所述第一偏移量往负方向修正。
126.s62,获取所述第一帧图像的一子图像,其中,所述子图像位于所述第一帧图像背离偏移方向的一侧,且所述子图像的宽度由所述第一帧图像的宽度和所述第二偏移量之间的差值决定。优选地,所述子图像的宽度为所述第一帧图像的宽度减去所述第二偏移量。例如,请参阅图6b,若所述第二偏移量为1.5l,则在所述第一帧图像11的右侧选取宽度为3.5l的子图像111。
127.s63,获取所述子图像和所述第二帧图像的互功率谱作为所述第一帧图像和所述第二帧图像的互功率谱。
128.基于上述步骤s63中获取的互功率谱,所述图像处理方法可以获得一第一偏移量,此时,所述第一偏移量和所述第二偏移量之和为所述第一帧图像和所述第二帧图像之间的实际偏移量。
129.根据以上描述可知,本实施例所述图像处理方法只需将所述子图像所述第二帧图像进行匹配即可,而无需将所述第一帧图像和所述第二帧图像进行全图像匹配,与相关技术相比,本实施例所述图像处理方法能够减少运算量并提升图像的拼接速度。此外,本实施例所述图像处理方法能够使得图像拼接中的匹配更准确,从而得到更加准确的拼接图像。
130.特别地,当扫描设备的移动速度较快时,所述第一帧图像和所述第二帧图像之间不重叠部分的面积较大,这会导致拼接的不稳定。本实施例所述图像处理方法具有较高的拼接速度,因而图像处理器能够及时对各帧图像进行拼接,有利于提升拼接的准确度并实现稳定拼接。
131.于本发明的一实施例中,根据所述第一帧图像及其上一帧图像获取所述第二偏移量,具体实现方法包括:若所述第一帧图像不存在上一帧图像,则所述第二偏移量为0;若所述第一帧图像存在上一帧图像,则所述第二偏移量为所述第一帧图像与其上一帧图像之间的偏移量。
132.请参阅图7a,于本发明的一实施例中,获取所述第二偏移量的实现方法包括:
133.s611,判断所述第一帧图像和所述第二帧图像是否为直线图像。例如,当使用扫描设备扫描纸质文件时,经常会出现某一帧或几帧图像仅包含水平或近似水平的直线,这种
帧图像即为直线图像,例如图7b所示。需要说明的是,在实际应用中获取的直线可能为水平直线、倾斜直线或竖直直线,且直线可以存在倾斜、水平位移或竖直位移等情况,由于所述图像处理方法在获取偏移量时以水平方向为主,因此,本实施例需要通过步骤s611来判断帧图像是否仅包含水平或近似水平的长直线,也即,判断帧图像是否为直线图像。
134.s612,根据所述判断结果获取所述第二偏移量。具体地,当所述第一帧图像和/或所述第二帧图像为直线图像时,所述第一帧图像和所述第二帧图像中的直线部分可以看作相互重叠,因此,基于所述第一帧图像和所述第二帧图像中直线区域的分布可以获取二者之间的偏移量作为所述第二偏移量。当所述第一帧图像和所述第二帧图像均不为直线图像时,可以根据所述第一帧图像及其上一帧图像获取所述第二偏移量,也可以选取预设值作为所述第二偏移量。
135.可选地,请参阅图7c,本实施例中判断帧图像(第一帧图像或第二帧图像)是否为直线图像的实现方法包括:
136.s6111,获取所述帧图像中像素点的梯度值。其中,像素点的梯度值用于标识像素点与其周围或相邻像素点之间的像素值差异。优选地,步骤s6111可以获取所述帧图像中每一像素点的梯度值。
137.可选地,对于帧图像中坐标(x,y)处的像素点,其梯度值为g(x,y)=|dx(x,y)|+|dy(x,y)|,其中,dx(x,y)=i(x+1,y)-i(x,y)表示坐标(x,y)处的像素点在水平方向的梯度,dy(x,y)=i(x,y+1)-i(x,y)表示坐标(x,y)处的像素点在竖直方向的梯度,i(x,y)为坐标(x,y)处的像素点的像素值。
138.s6112,根据所述帧图像中像素点的梯度值获取二值化梯度图像。具体地,根据每一像素点的梯度值与一梯度阈值之间的关系,将每一像素点的像素值设置为黑色(0)或白色(255),其中,所述梯度阈值可以根据实际需求或者经验设置。例如,请参阅图7d和图7e,其中,图7d显示为本实施例中获取的梯度图像示例图,图7e显示为相应的二值化梯度图像示例图。
139.s6113,根据所述二值化梯度图像中的白色像素点获取协方差矩阵。具体地,根据所述二值化梯度图像中的白色像素点获取白色区域,并根据白色区域内点的坐标集计算出所述协方差矩阵,其中,所述协方差矩阵用于反映不同白色像素点之间的相互关系。
140.可选地,根据所述二值化梯度图像中的白色像素点获取所述协方差矩阵c的方法为c=[v0,v1,...,vn]
×
[v0,vi,...,vn]
t
,其中,(xi,yi)为第i个白色像素点的坐标,为各白色像素点的平均坐标,n为所述二值化梯度图像中白色像素点的数量。
[0141]
s6114,根据所述协方差矩阵的特征值判断所述帧图像是否为直线图像。具体地,从所述协方差矩阵的特征值中选取一最小特征值t_min,并根据所述最小特征值t_min与一特征值阈值t_cov之间的关系判断所述帧图像是否为直线图像:若所述最小特征值t_min小于所述特征值阈值t_cov,则所述帧图像为直线图像,否则,所述帧图像不为直线图像。其中,所述特征值阈值t_cov可以根据实际需求或者经验设置。
[0142]
可选地,本实施例中所述第一帧图像和所述第二帧图像是否为直线图像具有四种组合,以下将对这四种组合分别对应的第二偏移量进行详细说明。
[0143]
若所述第一帧图像不为直线图像,所述第二帧图像为直线图像,则根据第一图像中白色像素点的纵向跨度获取重叠区域的起点列,并根据所述起点列的横坐标获取所述第二偏移量,其中,所述第一图像为所述第一帧图像的二值化图像。
[0144]
具体地,获取所述第一帧图像的二值化图像作为第一图像,例如图7f所示,沿偏移方向(例如图7f中沿自右往左的方向)从该第一图像的第一列开始逐一获取每一列所包含的白色像素点的纵向跨度,当存在某一列中白色像素点的纵向跨度大于一跨度阈值时,该列即为所述重叠区域的起点列,获取所述起点列的横坐标xi_bias作为所述第二偏移量。其中,所述跨度阈值可以根据实际需求或者经验设置。
[0145]
优选地,所述跨度阈值为:其中,max_span_y为所述第一帧图像对应的二值化梯度图像中白色像素点在纵方向上的最大跨度,例如,可以获取所述第一帧图像对应的二值化梯度图像中每一列白色像素点在纵方向上的跨度并从中选取一最大值作为max_span_y,t_cov为所述特征值阈值,t_min为所述最小特征值。
[0146]
若所述第一帧图像为直线图像,所述第二帧图像不为直线图像,则根据第二图像中白色像素点的纵向跨度获取重叠区域的终点,并根据所述终点的横坐标和所述第二帧图像的宽度获取所述第二偏移量,其中,所述第二图像为所述第二帧图像的二值化图像。
[0147]
具体地,获取所述第二帧图像的二值化图像作为第二图像,例如图7g所示,沿偏移方向的反方向(例如图7g中沿自左往右的方向)从该第二图像的第一列开始逐一获取每一列所包含的白色像素点的纵向跨度,当存在某一列中白色像素点的纵向跨度大于所述第一帧图像对应的跨度阈值时,该列即为所述重叠区域的终点列,获取该终点列的横坐标xi_bias,根据所述第二帧图像的宽度img_w和xi_bias获取所述第二偏移量,例如,所述第二偏移量可以为img_w减去xi_bias。所述第一帧图像对应的跨度阈值例如可以采用上述t_line的公式计算得到,也可以为经验值或预设值。
[0148]
若所述第一帧图像和所述第二帧图像均为直线图像,则根据所述第一图像中的白色区域轮廓和所述第二图像中的白色区域轮廓获取所述第二偏移量。具体地,请参阅图7h,此时获取所述第二偏移量的一种实现方法包括:
[0149]
s6121,获取所述第一图像中的白色区域轮廓,并沿偏移方向的反方向获取第一个白色区域轮廓的坐标在水平方向的最大值max_x'和最小值min_x'。例如,当所述偏移方向为自右向左时,步骤s6121获取所述第一图像左侧第一个白色区域轮廓的坐标在水平方向的最大值和最小值分别作为max_x'和min_x'。
[0150]
s6122,获取所述第二图像中的白色区域轮廓,并沿偏移方向的反方向获取第一个白色区域轮廓的坐标在水平方向的最大值max_x和最小值min_x。例如,当所述偏移方向为自右向左时,步骤s6122获取所述第二图像左侧第一个白色区域轮廓的坐标在水平方向的最大值和最小值分别作为max_x和min_x。
[0151]
s6123,根据所述第二帧图像的宽度img_w以及上述两个最大值和两个最小值获取所述第二偏移量。具体地,判断所述第一图像和所述第二图像是否满足以下条件:若满足,则根据max_x和max_x'获取所述第二偏移量,例如,
所述第二偏移量可以为max_x'-max_x,若不满足,则采用其他方式获取所述第二偏移量,例如,根据所述第一帧图像及其上一帧图像获取所述第二偏移量,或者选取预设值作为所述第二偏移量。其中,α和β分别为两个权重值,且其数值可以根据实际需求设置,例如,α可以为0.75,β可以为0.5。
[0152]
若所述第一帧图像和所述第二帧图像均不为直线图像,则可以根据所述第一帧图像及其上一帧图像获取所述第二偏移量,或者选取预设值作为所述第二偏移量。
[0153]
根据以上描述可知,本实施例提供了一种获取所述第二偏移量的方法,该方法能够在所述第一帧图像和/或所述第二帧图像为直线图像时,根据所述第一帧图像内直线(或线段)区域的分布来获取所述第二偏移量,此种方式获取的所述第二偏移量更加接近真实偏移量,因而具有更高的准确性。
[0154]
请参阅图8,于本发明的一实施例中,扫描设备自左向右移动,所述图像处理方法包括:
[0155]
s801,获取第一帧图像和第二帧图像,其中,所述第一帧图像和所述第二帧图像例如为前后两相邻帧的图像。可选地,在获取所述第一帧图像和所述第二帧图像以后,所述图像处理方法还包括:对所述第一帧图像和所述第二帧图像进行透视变换预校正,以使所述第一帧图像和所述第二帧图像中的文字大小更加均衡。
[0156]
s802,判断所述第一帧图像和所述第二帧图像是否为直线图像,并根据判断结果获取第二偏移量。具体地,可以采用图7c所示的步骤s6111~s6114来判断所述第一帧图像和所述第二帧图像是否为直线图像,并在所述第一帧图像和/或所述第二帧图像为直线图像时,根据直线区域的分布来获取所述第二偏移量,否则,将所述第一帧图像与其上一帧图像之间的偏移量作为所述第二偏移量,当所述第一帧图像不存在上一帧图像时,所述第二偏移量为0。
[0157]
s803,在所述第一帧图像的右侧获取一子图像,所述子图像的宽度为所述第一帧图像的宽度减去所述第二偏移量。
[0158]
s804,对所述子图像和所述第二帧图像的左侧、上方和下方进行扩展,并对扩展以后的所述子图像和所述第二帧图像进行加窗,其中,步骤s804可以采用图3a所示步骤s31的方式实现所述扩展。
[0159]
s805,获取所述子图像和所述第二帧图像的互功率谱作为所述第一帧图像和所述第二帧图像的互功率谱。
[0160]
s806,根据所述互功率谱获取对应的冲击响应图,进而获取第二偏移量。
[0161]
s807,根据所述第一偏移量和所述第二偏移量获取所述第一帧图像和所述第二帧图像之间的实际偏移量,并根据所述实际偏移量将所述第一帧图像与所述第二帧图像进行拼接,以获取拼接图像。
[0162]
s808,将所述第二帧图像作为新的第一帧图像,并获取所述新的第一帧图像的下一帧作为新的第二帧图像。
[0163]
s809,获取新的第二偏移量和新的第一偏移量,其中,所述新的第二偏移量的获取方式与步骤s802相同,所述新的第一偏移量的获取方式与步骤s803~s706相同。
[0164]
s810,根据所述新的第二偏移量和所述新的第一偏移量对所述拼接图像和所述新的第二帧图像进行拼接,以获取新的拼接图像。
[0165]
s811,循环执行上述步骤s807~s810,在每次循环中,步骤s807获取上一循环中新的第二帧图像作为本次循环中新的第一帧图像。
[0166]
s812,获取拼接图像中的连通区域,并获取各连通区域的外接矩形框。
[0167]
s813,根据所述外接矩形框对所述拼接图像进行分割,从而得到一个或多个图像块。
[0168]
需要说明的是,上述步骤s812~s813可以在获取到完整的拼接图像之后执行,也可以与上述步骤s807~s811同时执行。当同时执行时,步骤s807~s811不断将新的图像帧拼接到所述拼接图像中,步骤s812~s813则是不断将所述拼接图像分割为一个或多个图像块并发送至其他模块,从而实现扫描和处理的同步。
[0169]
基于以上对所述图像处理方法的描述,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现图1a或图8所示的图像处理方法。
[0170]
基于以上对所述图像处理方法的描述,本发明还提供一种电子设备。具体地,请参阅图9,所述电子设备900包括存储器910和处理器920,所述存储器910存储有一计算机程序,所述处理器920与所述存储器910通信相连,用于执行所述计算机程序时实现图1a或图8所示的图像处理方法。
[0171]
可选地,所述电子设备900还包括显示器930,所述显示器930与所述存储器910和所述处理器920通信相连,用于显示所述图像处理方法的相关gui交互界面。
[0172]
可选地,所述电子设备为一扫读笔,所述扫读笔包括成像传感器和图像处理器,其中,所述成像传感器用于获取帧图像,所述图像处理器用于采用图1a或图8所示的图像处理方法对帧图像进行拼接。
[0173]
可选地,所述电子设备为一扫读笔,所述扫读笔包括光源发射器、光学成像传感器和图像处理器,其中,所述光源发射器和所述光学成像传感器用于通过光学方式获取帧图像,所述图像处理器用于采用图1a或图8所示的图像处理方法对帧图像进行拼接。
[0174]
可选地,所述扫读笔还包括透明防尘罩。
[0175]
本发明所述的图像处理方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
[0176]
本发明一个实施例或多个实施例中所提供的图像处理方法能够根据第一帧图像和第二帧图像的互功率谱获取对应的冲击响应图,并根据冲击响应图中像素点的响应值获取第一偏移量。基于所述第一偏移量,所述图像处理方法能够将所述第一帧图像与所述第二帧图像进行拼接,从而得到拼接图像。
[0177]
此外,所述图像处理方法还可以通过预估帧间偏移量、对帧图像进行扩展、改进两帧图像间偏移量的计算方法和筛选帧间偏移量结果等措施,使拼接效果达到产品化水平,在正常的使用环境下基本不会出错。同时,所述图像处理方法能够大幅降低拼接耗时,在单个cortex-a7处理器上耗时能够降到几毫秒,保证了拼接的实时性。再者,所述图像处理方法能够显著提升图像拼接过程的匹配精度,同时减少匹配计算量。
[0178]
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
[0179]
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟
悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1