一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种图像拼接系统、方法及电子设备与流程

2021-10-24 07:01:00 来源:中国专利 TAG:拼接 图像 电子设备 方法 系统


1.本技术涉及图像拼接技术领域,尤其涉及一种图像拼接系统、方法及电子设备。


背景技术:

2.图像拼接(mosaic)技术就是将一组有重叠区域的图像集合拼接成一幅大分辨率的图像。图像拼接一般流程为图像预处理方法(标定、去畸变)、投影变换方式(透视变换)、图像配准和图像融合。
3.现有的图像拼接大部分通过cpu或gpu计算,不能并行处理,计算复杂度高,存在计算量和数据量巨大,导致处理帧率低,无法直接应用于实时的嵌入式环境中。


技术实现要素:

4.有鉴于此,本技术实施例提供一种图像拼接系统、方法及电子设备,至少部分解决现有技术中存在的问题。
5.本技术实施例提供一种图像拼接系统,所述系统包括:
6.预处理模块,用于将输出图划分成若干个输出图像块,并生成所述输出图像块到相对应的输入图像块的映射查找表,所述映射查找表包括表头和表项,一个所述输出图像块对应一个所述表头和若干个所述表项;
7.ddr,用于存储输入图和所述映射查找表;
8.读表模块,用于读取所述表头的信息和所述表项的信息;
9.数据预读模块,用于根据所述表头信息预读所述输入图中相对应的输入图像块的像素值;
10.片上缓存模块,用于缓存所述输入图像块的像素值;
11.图像处理模块,用于根据所述表项信息,对所述输入图像块的像素值进行计算,得到与所述输入图像块相对应的输出图像块的像素值。
12.根据本技术实施例的一种具体实现方式,所述表头的信息包括输出图像块存储参数和预读数据参数,所述输出图像块存储参数为所述输出图像块在所述输出图中的坐标和大小,所述预读数据参数为预读输入图像块的坐标和大小;表项的信息包括插值坐标系数、插值系数和融合系数,所述插值坐标系数为输出图的像素在输入图中的坐标的整数位,所述插值系数为输出图的像素在输入图中的坐标的小数位。
13.根据本技术实施例的一种具体实现方式,所述图像处理模块具体包括:
14.读片上缓存模块,用于根据所述表项的所述差值坐标系数,读取所述片上缓存模块中的输入图像块的像素值;
15.线性插值模块,用于根据所述表项的所述插值系数,对所述的输入图像块的像素值进行线性插值得到输出图像块的像素值;
16.图像融合模块,用于根据所述表项中的所述融合系数,对所述输出图像块中处于融合区域的像素值进行像素融合。
17.根据本技术实施例的一种具体实现方式,根据所述表头的预读参数数据预读所述输入图中相对应的输入图像块的像素值;
18.根据本技术实施例的一种具体实现方式,的图像拼接系统还包括存储模块,所述存储模块用于根据所述表头的信息,将所述输出图像块的像素值存储到存储器中。
19.根据本技术实施例的一种具体实现方式,所述表项的数量与其相对应的所述输出图像块的像素数量相等。
20.根据本技术实施例的一种具体实现方式,所述系统还包括解析表模块和参数缓存模块,所述解析映射表模块用于对所述映射查找表进行压缩处理,以及提取所述表项信息,所述参数缓存模块用于对所述表项信息进行缓存,并传输至所述图像处理模块。
21.第二方面,本技术实施例还提供一种图像拼接方法,所述方法包括:
22.将输出图划分成若干个输出图像块,并生成所述输出图像块到相对应的输入图像块的映射查找表,所述映射查找表包括表头和表项,一个所述输出图像块对应一个所述表头和若干个所述表项;
23.将输入图和所述映射查找表进行存储;
24.读取所述表头的信息和所述表项的信息;
25.根据所述表头信息预读所述输入图中相对应的输入图像块的像素值;
26.缓存所述输入图像块的像素值;
27.根据所述表项信息,对所述输入图像块的像素值进行计算,得到与所述输入图像块相对应的输出图像块的像素值。
28.第三方面,本技术实施例还提供一种电子设备,所述电子设备包括:
29.至少一个处理器;以及,
30.与所述至少一个处理器通信连接的存储器;其中,
31.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第二方面所述的图像拼接方法。
32.第四方面,本技术实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行如上述第二方面所述的图像拼接方法。
33.有益效果
34.本技术实施例中的图像拼接系统、方法及电子设备,通过对输出图像划分成图像块,可以并行处理图像块,处理每个图像块采用流水线处理,大大提高了拼接处理能力。
35.使用映射查找表的方式代替传统的去畸变、透视变换、配准、融合过程等计算过程,在软件或硬件处理中,降低了计算过程的复杂度,降低了处理延时,提高了处理性能。
36.使用预读图像块数据的方式完成对ddr中数据的访问,提高了访问ddr时的数据连续性,提高了ddr带宽利用率,同时降低了处理延时。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
38.图1为根据本发明一实施例的图像拼接系统的结构图;
39.图2为根据本发明一实施例的图像拼接系统的结构图;
40.图3为根据本发明一实施例的图像拼接方法的流程图;
41.图4为根据本发明一实施例的输出图与输入图的对应关系图。
具体实施方式
42.下面结合附图对本技术实施例进行详细描述。
43.以下通过特定的具体实例说明本技术的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本技术的其他优点与功效。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。本技术还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本技术的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本技术,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
45.还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本技术的基本构想,图式中仅显示与本技术中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
46.另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
47.图像应用空间变换,有两种方法:正向映射和反向映射。反向映射的过程是对每一个输出像素,计算它在输入图像上的位置,根据输入图像上该位置附近的像素值决定输出像素的值。在相机内参(内参是相机坐标系与图像坐标系之间的关系)、外参(外参是相机在世界坐标系中的空间位置关系)、畸变系数不变的情况下,反向映射是不变的,故可以在输出图像和输入图像间建立映射查找表,其中,输入图像即为相机拍摄的原始图像,输出图像即为将原始图像拼接处理后的环视图。在已知相机内参、外参和畸变系数情况下,使用反向映射方式得到每个输出像素在输入图中的位置坐标,并生成输出图到输入图的映射查找表,使用映射查找表代替去畸变、透视变换、配准和融合过程等的计算,无论软件还是硬件处理,都省去了复杂的计算过程。
48.下面结合附图1

3对本技术的图像拼接系统进行详细描述。
49.本技术实施例提供了一种图像拼接系统,具体结构参照图1,所述系统包括预处理模块、ddr(double data rate,双倍速率同步动态随机存储器)、读表模块、数据预读模块、
片上缓存模块和图像处理模块。
50.预处理模块,用于将输出图划分成若干个输出图像块,并生成所述输出图像块到相对应的输入图像块的映射查找表,并计算得到对应输入图像块的坐标和大小,将输出图像块和输入图像块的坐标和大小都存储到映射查找表中。所述映射查找表包括表头和表项,一个所述输出图像块对应一个所述表头和若干个所述表项,其中,表项的个数与其对应的输出图像块的像素数量相等。需要解释的是,一个输出图像块对应的表头和表项组合称为一个表块,也即有多少个输出图像块就有多少个表块,映射查找表中包含有与输出图像块数量相同的表块。
51.ddr,用于存储输入图和所述映射查找表,以供其他模块进行数据读取。输入图存储在ddr中,在访问ddr时,如果直接访问ddr,由于数据的访问不连续,导致ddr带宽利用率很低;若采用cache方案,由于鱼眼相机畸变比较大,导致cache的命中率也非常低。以上两种方式均由于ddr带宽利用率低限制了算法的性能。经分析输出图中的图像块映射到输入图中图像块的关系,采用一种数据预读的方式读取ddr中的数据,可以提高ddr带宽利用率。
52.读表模块,用于读取所述表头的信息和所述表项的信息。具体的,所述表头的信息包括输出图像块存储参数和预读数据参数,所述输出图像块存储参数为所述输出图像块在所述输出图中的坐标和大小,所述预读数据参数为预读输入图像块的坐标和大小;表项的信息包括插值坐标系数、插值系数和融合系数,所述插值坐标系数为输出图的像素在输入图中的坐标的整数位,所述插值系数为输出图的像素在输入图中的坐标的小数位。
53.数据预读模块,用于根据所述表头信息预读所述输入图中相对应的输入图像块的像素值。具体的,数据预读模块根据表头中的预读数据参数(预读输入图像块的坐标和大小)读取存储在ddr中输入图上的输入图像块的像素值,并将输入图像块的像素值传输至片上缓存模块。
54.片上缓存模块,用于缓存所述输入图像块的像素值,以供图像处理模块读取。通过设置数据预读模块和片上缓存模块,采用数据预读的方式读取ddr中数据,并缓存至片上缓存模块中,然后再进行图像拼接处理,可以不用直接访问ddr,可有效避免由于访问不连续造成的ddr带宽利用率低的问题。
55.图像处理模块,用于根据所述表项信息,对所述输入图像块的像素值进行计算,得到与所述输入图像块相对应的输出图像块的像素值。读表模块中读取的表项信息传输至图像处理模块,图像处理模块根据表项信息,读取片上缓存模块中的输入图像块的像素值,并对其进行计算处理,得到与输入图像块相对应的输出图像块的像素值,并对融合区域的输出点进行像素融合。
56.在一个具体实施例中,图像处理模块包括读片上缓存模块、线性插值模块、图像融合模块,参照图2。其中,读片上缓存模块,用于根据所述表项的所述差值坐标系数,读取所述片上缓存模块中的输入图像块的像素值;线性插值模块,用于根据所述表项的所述插值系数,对所述的输入图像块的像素值进行线性插值得到输出图像块的像素值;图像融合模块,用于根据所述表项中的所述融合系数,对所述输出图像块中处于融合区域的像素点的像素值进行像素融合。
57.在上述实施例中,采用读取映射查找表的方式,根据输出图像块和输入图像块的坐标和大小,预读存储在ddr中相对应的输入图像数据,并对输入图像的数据进行线性插值
计算得到输出图像。
58.换句话说,根据ddr带宽利用率低的特点,通过设置读表模块、数据预读模块、片上缓存模块和图像处理模块,将输出图划分成若干个图像块,经过计算可以得到每个块在输入图中的位置和面积,在处理某个输出图像块时,将其对应的输入图像块从ddr读到片上存储器中,然后进行拼接计算处理,如此提高了ddr带宽利用率。
59.需要解释的是,在具体的处理过程中,输出图划分成图像块进行分块处理时,一个core处理一个图像块,若性能不满足实际的需求,可通过设置多个core并行处理多个图像块,从而提高处理性能。
60.进一步的,的图像拼接系统还包括存储模块,所述存储模块用于根据所述表头的信息,具体的,根据表头的输出图像块存储参数(输出图像块在输出图中的坐标和大小)将所述输出图像块的像素值存储到存储器中,例如,存储到ddr中。
61.进一步的,所述系统还包括解析表模块和参数缓存模块,参照图1,所述解析映射表模块用于对所述映射查找表进行压缩处理,以及提取所述表项信息,所述参数缓存模块用于对所述表项信息进行缓存,并传输至所述图像处理模块。
62.具体的,解析表模块可以根据映射查找表的格式,提取读表模块的表项的信息,包括插值坐标系数、插值系数和融合系数,并将这些信息存储到参数缓存模块,以供图像处理模块进行图像拼接计算时使用,以及存储模块进行数据存储时使用。为了节省存储空间,可以对映射查找表表进行压缩处理,也即解析表模块具有解压缩的作用,使读取映射查找表时节省ddr的带宽。
63.进一步的,参数存储模块可以设置为多个,便于数据的读取。在一个实施例中,图像处理模块包括片上缓存模块、线性插值模块、图像融合模块,参数存储模块可设置为四个,其中三个分别与片上缓存模块、线性插值模块、图像融合模块,分别为这三个模块提供所需的表项信息,例如,与片上缓存模块连接的参数缓存模块为其提供差值坐标系数,与线性插值模块连接的参数缓存模块为其提供插值系数,与图像融合模块连接的参数缓存模块为其提供融合系数。另外一个与存储模块连接,为存储模块提供输出图像块存储参数。
64.第二方面,本技术实施例还提供一种图像拼接方法,具体的流程图参照图3,所述方法包括:
65.s101、将输出图划分成若干个输出图像块,并生成所述输出图像块到相对应的输入图像块的映射查找表,所述映射查找表包括表头和表项,一个所述输出图像块对应一个所述表头和若干个所述表项。此外,还需要通过计算得到每个输出图像块在输入图中的位置和面积,以便得到与输出图像块的坐标和大小相对应的输入图像块,并将输出图像块与输入图像块的坐标和大小均存储于映射查找表中,用于后续拼接计算使用。
66.s102、将输入图和所述映射查找表进行存储,可存储在ddr中。输入图即为相机拍摄的原始图,可通过读取映射查找表中的数据对输入图的数据进行读取。
67.s103、读取所述表头的信息和所述表项的信息。具体的,所述表头的信息包括输出图像块存储参数和预读数据参数,所述输出图像块存储参数为所述输出图像块在所述输出图中的坐标和大小,所述预读数据参数为预读输入图像块的坐标和大小;表项的信息包括插值坐标系数、插值系数和融合系数,所述插值坐标系数为输出图的像素在输入图中的坐标的整数位,所述插值系数为输出图的像素在输入图中的坐标的小数位。
68.s104、根据所述表头信息预读所述输入图中相对应的输入图像块的像素值。具体的,每次读取时,读取一个表头,也即每次处理一个输出图像块,根据表头的预读数据参数,预读与本次处理的输出图像块相对应的所述输入图中的输入图像块的像素值。
69.s105、缓存上述的输入图像块的像素值。通过预读数据的方式以及缓存数据的方式,可以不用直接访问ddr,提高ddr的带宽利用率,提高计算性能。
70.s106、根据所述表项信息,对所述输入图像块的像素值进行计算,得到与所述输入图像块相对应的输出图像块的像素值。
71.具体的图像拼接计算过程包括:根据所述表项的所述差值坐标系数,读取缓存的输入图像块的像素值;根据所述表项的所述插值系数,对输入图像块的像素值进行线性插值得到输出图像块的像素值;根据所述表项中的所述融合系数,对所述输出图像块中处于融合区域的像素点的像素值进行像素融合。
72.进一步的,本方法还包括:
73.s107、根据表头的输出图像块存储参数,即输出图像块在输出图中的坐标和大小,将所述输出图像块的像素值存储到需要的存储器中。
74.重复步骤s103至步骤s107,可按顺序对每一个图像块进行图像处理,直至所有输出图上的输出图像块均处理完毕,即得到一个完整的输出图。
75.上述实施例中,使用映射查找表的方式,代替了现有技术中图像拼接的去畸变、透视变换、配准、融合等计算过程,节省了复杂的计算过程,降低了处理延时的问题;并且可通过设置并行计算的模式,可提高图像的处理效率;通过预读的方式,提高了对ddr中数据访问的连续性,提高了ddr的带宽利用率,同时降低了处理延时。
76.需要解释的是,在具体的处理过程中,输出图划分成图像块进行分块处理时,可以并行处理多个图像块,从而提高处理性能。
77.为了便于理解,下面参照图4所示的输出图与输入图的对应关系图进行说明,图4中的输出图是由4张输入图拼接成的,4张输入图分别对应输出图的上、下、左、右,阴影区域是两张相邻图像需要融合的区域。需要说明的是,输出图可由多张输入图拼接而成,本实施例仅为参考示例,输入图的数量可根据实际情况而定。图4的输出图划分为若干个输出图像块,图中仅示出一个输出图像块,一个矩形代表一个输出图像块,输出图像块的具体形状还可以为其它形状,并不局限于本实施例中的矩形。一个输出图像块的像素计算需要读取输入图中的与其对应的扇形区域,然后做线性插值计算,读取时为便于计算处理可将扇形扩展成外边缘相切的矩形。例如,计算输出图上方的一个输出图像块时,需要读取图4中箭头所指的上侧输入图中扇形外侧的矩形框内数据,这个扇形外侧的矩形框的面积即是预读的数据量。换句话就是说,当处理输出图中某一输出图像块时,需要从ddr中预读输入图中对应的输入图像块(矩形框内数据)到片上缓存模块中,然后进行拼接计算处理,采用预读的方式可以提高ddr带宽的利用率。
78.需要说明的是,进行图像划分时的原则是:一次预读的数据量不大于片上缓存预设的缓存容量。
79.第三方面,本技术实施例还提供一种电子设备,所述电子设备包括:
80.至少一个处理器;以及,
81.与所述至少一个处理器通信连接的存储器;其中,
82.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述第二方面所述的图像拼接方法。
83.第四方面,本技术实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使该计算机执行如上述第二方面所述的图像拼接方法。
84.本发明提供的实施例,针对现有图像拼接方法存在计算量大和数据量大导致处理帧率低的问题,发明了一种图像拼接系统、方法及电子设备,通过本技术的系统和方法,可以有效的降低图像拼接计算的复杂度,提高ddr带宽利用率,提高图像拼接处理能力,有效降低处理延时的问题,可以实现直接应用于实时的嵌入式环境中。
85.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜