hud成像的畸变矫正方法、装置、终端设备及存储介质
技术领域
1.本技术属于抬头显示技术领域,尤其涉及一种hud成像的畸变矫正方法、装置、终端设备及存储介质。
背景技术:2.抬头显示(head up display,hud)产品,是通过整合整车信息,然后将整车信息以图案化形式反馈给驾驶员的智能化配置,可以有效防止驾驶员低头看屏幕所带来的分心驾驶。然而由于车辆的挡风玻璃存在一定的曲率,光线经过反射进入人眼会发生变形,容易造成hud的投影图像发生畸变,从而影响视觉效果。
3.因此,亟需提供一种hud成像的畸变矫正方法,实现对hud投影图像的畸变矫正,以使hud在挡风玻璃上呈现正常无畸变的图像。
技术实现要素:4.本技术实施例提供了一种hud成像的畸变矫正方法、装置、终端设备及存储介质,可以实现对hud投影图像的畸变矫正,以使hud在挡风玻璃上呈现正常无畸变的图像。
5.本技术实施例的第一方面提供了一种hud成像的畸变矫正方法,所述畸变矫正方法包括:
6.在车辆行驶过程中,获取畸变待矫正图像和对应的输入图像,其中,所述畸变待矫正图像为所述对应的输入图像经光学元件投影后得到的图像;
7.对所述输入图像中的目标区域进行分块,确定所述输入图像中的第一特征点坐标,以及所述畸变待矫正图像中的第二特征点坐标,所述第一特征点坐标与所述第二特征点坐标相对应;
8.根据每个所述第一特征点坐标和对应的所述第二特征点坐标,分区更新所述输入图像,以矫正所述畸变待矫正图像。
9.本技术实施例的第二方面提供了一种hud成像的畸变矫正装置,所述畸变矫正装置包括:
10.获取模块,用于在车辆行驶过程中,获取畸变待矫正图像和对应的输入图像,其中,所述畸变待矫正图像为所述对应的输入图像经光学元件投影后得到的图像;
11.特征确定模块,用于对所述输入图像中的目标区域进行分块,确定所述输入图像中的第一特征点坐标,以及所述畸变待矫正图像中的第二特征点坐标,所述第一特征点坐标与所述第二特征点坐标相对应;
12.矫正模块,用于根据每个所述第一特征点坐标和对应的所述第二特征点坐标,分区更新所述输入图像,以矫正所述畸变待矫正图像。
13.本技术实施例的第三方面提供了一种终端设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的hud成像的畸变矫正方法。
14.本技术实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的hud成像的畸变矫正方法。
15.本技术实施例的第五方面提供了一种计算机程序产品,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述第一方面所述的hud成像的畸变矫正方法。
16.本技术实施例与现有技术相比存在的有益效果是:
17.本技术实施例在车辆行驶的过程中,通过获取畸变待矫正图像和对应的输入图像,分别确定出了输入图像中的第一特征点坐标和畸变待矫正图像中的第二特征点坐标,由于第一特征点坐标与第二特征点坐标相对应,因此可以根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,使输入图像变为对应的畸变图像,使投影后的图像为无畸变图像,以矫正畸变待矫正图像。上述方案实现了对hud投影图像的畸变矫正,可以使hud在挡风玻璃上呈现正常无畸变的图像。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例一提供的一种hud成像的畸变矫正方法的流程示意图;
20.图2是本技术实施例二提供的一种hud成像的畸变矫正方法的流程示意图;
21.图3是本技术实施例三提供的一种hud成像的畸变矫正装置的结构示意图;
22.图4是本技术实施例四提供的一种终端设备的结构示意图。
具体实施方式
23.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
24.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
25.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
26.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0027]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0028]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
[0029]
现有技术中,车辆上的抬头显示装置需要利用光学的反射原理,在车辆行驶过程中把时速、导航等重要的行车信息以及道路信息实时投影到驾驶员前风挡玻璃上,驾驶员不必低头,就可以看到行车信息以及道路信息,提高行车安全性。但由于车辆的挡风玻璃存在一定的曲率,且不同位置的曲率有可能存在不同,因此会造成抬头显示装置的投影图像发生畸变。而现有技术中在对该畸变现象进行处理时,通常在车辆出厂之前设置固定的畸变参数,以预防投影图像发生畸变。但由于不同规格的挡风玻璃的曲率各不相同,设置固定的畸变参数并不能应对行车过程中实时出现的畸变现象。
[0030]
基于上述问题,本技术提供了一种hud成像的畸变矫正方法,可以在行车过程中,通过获取畸变待矫正图像和对应的输入图像,分别确定出了输入图像中的第一特征点坐标和畸变待矫正图像中的第二特征点坐标,由于第一特征点坐标与第二特征点坐标相对应,因此可以根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,使输入图像变为对应的畸变图像,使投影后的图像为无畸变图像,以矫正畸变待矫正图像。上述方案利用行车过程中实时获取的待校正图像和对应的输入图像,进行实时的畸变矫正,实现了对hud投影图像的畸变矫正,可以使hud在挡风玻璃上呈现正常无畸变的图像。
[0031]
为了说明本技术的技术方案,下面通过具体实施例来说明。
[0032]
应理解,本实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0033]
参照图1,示出了本技术实施例一提供的一种hud成像的畸变矫正方法的流程示意图。如图1所示,该hud成像的畸变矫正方法可以包括如下步骤:
[0034]
步骤101,在车辆行驶过程中,获取畸变待矫正图像和对应的输入图像。
[0035]
需要说明的是,本技术实施例的畸变矫正方法可以由本技术实施例的畸变矫正装置执行。本技术实施例的畸变矫正装置可以配置在任意终端设备中,以执行本技术实施例的畸变矫正方法。比如,本技术实施例的畸变矫正装置可以配置在车辆的车载终端或者外部终端中,本技术实施例对此不作限定。
[0036]
其中,畸变待矫正图像,可以是指车辆行驶过程中在车辆挡风玻璃上发生畸变的投影图像。需要说明的是,可以使用图像采集装置实时采集车辆挡风玻璃上的投影图像,若检测到的投影图像的畸变率超过设定值,则确定该投影图像发生畸变,终端设备可以获取该发生畸变的投影图像,即获取畸变待矫正图像。
[0037]
应理解,图像采集装置可以是指相机、双目相机等。
[0038]
其中,输入图像,可以是指由车辆的多个传感器信息整合得到的图像,需要说明的是,输入图像是hud成像的图像输入源,即上述车辆挡风玻璃上的投影图像均是由对应的输入图像经光学元件投影后得到的图像,同理,畸变待矫正图像也是由对应的输入图像经光学元件投影后得到的图像。
[0039]
应理解,由于畸变待矫正是由对应的输入图像经光学元件投影后得到的图像,因此,畸变待矫正图像和对应的输入图像所包含的显示内容相同,且显示内容分别在两个图像中所处的位置是相对应的,例如车辆的时速显示所处的位置为输入图像的右下角,那么在畸变待矫正图像中车辆的时速显示也处于右下角位置处,区别仅在于两副图像中显示内容的像素尺寸可能存在不同。
[0040]
举例来说,图像采集装置实时采集的每帧投影图像均具有对应的输入图像,例如采集到的当前帧的投影图像包含车辆的时速显示、路况显示以及导航显示,那么对应的输入图像则是当前投影图像的图像输入源,终端设备可以从多个图像输入源中获取当前帧的投影图像对应的输入图像,可以根据实时采集到的当前帧的时间从多个图像输入源中获取与当前帧显示时间相同的图像作为对应的输入图像,可以根据实时采集到的当前帧的帧数,同时对多个图像输入源进行计数,将图像输入源中与当前帧的帧数相同的图像作为当前帧的投影图像对应的输入图像。
[0041]
举例来说,由于本技术是对发生畸变的投影图像进行矫正,因此无需针对每个投影图像获取对应的输入图像,而只需获取畸变待矫正图像对应的输入图像即可,以节省矫正时长,提高畸变矫正的实时性。
[0042]
需要说明的是,上述举例仅为示例性地,不能视为对本技术的限制。实际使用时,可以依据实际需要及具体的应用场景,选择合适的方法获取畸变待矫正图像以及对应的输入图像,本技术实施例对此不作限定。
[0043]
步骤102,对输入图像中的目标区域进行分块,确定输入图像中的第一特征点坐标,以及畸变待矫正图像中的第二特征点坐标。
[0044]
其中,输入图像中的目标区域,是指输入图像中的部分显示区域。作为一种可能的实现方式,目标区域的大小可以为一个5*10的视场角内的区域,不会占用整个输入图像,以提高矫正的运算速度。
[0045]
其中,第一特征点坐标,是指输入图像中每个分块的特征点像素坐标。需要说明的是,第一特征点所处的坐标系是输入图像的像素坐标系,作为一种可能的实现方式,输入图像的像素坐标系可以将目标区域的左上角作为原点,x正方向向右,y正方向向下。
[0046]
应理解,每个分块中的第一特征点坐标的个数可以根据实际情况设定,例如4个,本技术对此不作限定。
[0047]
其中,第二特征点坐标,是指畸变待矫正图像中与第一特征点相对应的特征点的像素坐标。需要说明的是,第二特征点所处的坐标系是畸变待矫正图像的像素坐标系。作为一种可能的实现方式,畸变待矫正图像中与对应的输入图像的目标区域相对应的显示区域称为目标矫正区域,畸变待矫正图像的像素坐标系可以将目标校正区域的左上角作为原点,x正方向向右,y正方向向下。
[0048]
作为一种可能的实现方式,确定第一特征点坐标和第二特征点坐标,可以在对输入图像的目标区域进行分块得到多个第一分块区域后,根据多个第一分块区域中像素点的灰度值,确定每个第一分块区域中的第一特征点坐标,然后在根据多个第一分块区域,确定畸变待校正图像的目标矫正区域中与多个第一分块区域一一对应的多个第二分块区域,最后再根据多个第二分块区域中像素点的灰度值,确定每个第二分块区域中的第二特征点坐标。即在本技术实施例一种可能的实现方式中,上述步骤102,可以包括:
[0049]
对输入图像中的目标区域进行分块,得到多个第一分块区域;
[0050]
根据输入图像的分块结果,确定畸变待矫正图像中对应的多个第二分块区域;
[0051]
根据多个第一分块区域中像素点的灰度值,确定每个第一分块区域中的第一特征点坐标;
[0052]
根据多个第二分块区域中像素点的灰度值,确定每个第二分块区域中的第二特征点坐标。
[0053]
其中,输入图像的分块结果,是指输入图像中目标区域的分块结果。
[0054]
作为一种示例,根据多个第一分块区域中像素点的灰度值,确定每个第一分块区域中对任意方向灰度变化最大的像素点(通常为每个第一分块区域的四角点),将这些像素点作为每个第一分块区域的第一特征点,可以得到每个第一分块区域中的第一特征点坐标。
[0055]
作为一种示例,根据多个第二分块区域中像素点的灰度值,确定每个第二分块区域中对任意方向灰度变化最大的像素点(通常为每个第二分块区域的四角点),将这些像素点作为每个第二分块区域的第二特征点,可以得到每个第二分块区域中的第二特征点坐标。
[0056]
应理解,根据上述方法得出的多个第一特征点和多个第二特征点是相对应的,即一一对应。
[0057]
作为一种可能的实现方式,确定第一特征点坐标和第二特征点坐标,还可以直接确定分块区域的四角点分别为该分块区域的四个特征点,然后将四个特征点的像素坐标确定为该分块区域的特征点坐标。
[0058]
需要说明的是,上述举例仅为示例性的,不能视为对本技术的限制。实际使用时,还需根据实际需要及具体的应用场景,获取合适个数的特征点坐标,本技术实施例对此不作限定。
[0059]
步骤103,根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,以矫正畸变待矫正图像。
[0060]
其中,分区更新输入图像,可以是指根据一分块区域中第一特征点坐标以及对应的第二特征点坐标,对该分块区域显示的图像进行更新,进而对每个分块区域进行更新,即分区更新输入图像。需要说明的是,在对输入图像分区更新完成后,hud会将更新完成的输入图像投影至挡风玻璃上,此时,由于输入图像发生改变,因此畸变待矫正图像也会随之变化,因此可以分区更新输入图像,以矫正畸变待矫正图像,即通过改变图像输入源的方式,对hud成像的畸变图像进行矫正。
[0061]
作为一种可能的实现方式,由于输入图像与投影后得到的图像之间具备固定的变换关系,畸变待矫正图像与输入图像之间也具备固定的变换关系,而且由于输入图像是无畸变图像,若根据该变换关系将输入图像变为畸变图像,那么投影之后得到的图像将会变为与原输入图像一样的无畸变图像,所以可以通过确定输入图像与畸变待矫正图像之间的变换关系,更新输入图像,以对畸变待矫正图像进行矫正。即在本技术实施例一种可能的实现方式中,上述步骤102,可以包括:
[0062]
针对每个第一分块区域,根据该第一分块区域中的第一特征点坐标与对应第二分块区域中的第二特征点坐标,确定该第一分块区域从输入图像到畸变待矫正图像的投影变
换矩阵;
[0063]
根据每个第一分块区域对应的投影变换矩阵,分区更新输入图像。
[0064]
在本技术实施例中,可以针对每个第一分块区域对应的投影变换矩阵,对输入图像进行分区更新。例如对目标区域进行分块,得到了9个第一分块区域,那么根据上述步骤,可以得到9个投影变换矩阵,进而使用9个投影变换矩阵对输入图像的9个第一分块区域进行分区更新。其中,投影变换矩阵是根据第一分块区域中的第一特征点坐标与对应第二分块区域中的第二特征点坐标计算得到的。具体可参见如下计算公式:
[0065][0066]
其中,(x,y)为第一特征点坐标,(x’,y’)为第二特征点坐标,h3×3为投影变换矩阵。
[0067]
应理解,由于第一特征点坐标是输入图像像素坐标系下的像素坐标;第二特征点是畸变待矫正图像像素坐标系下的像素坐标,两者不在同一坐标系下,难以进行计算,所以在投影变换矩阵计算之前,需要将第一特征点坐标和第二特征点坐标归在同一坐标系,然后再进行投影变换矩阵的计算。
[0068]
在一种可能的实现方式中,输入图像中不仅包括目标区域还包括非目标区域,采用上述方法可对目标区域内的图像进行更新,由于非目标区域为视角外的区域,非目标区域可以采用原输入图像,或者采用针对目标区域进行更新的方法对非目标区域进行同样的操作,或者利用边区域扩展的方法确定非目标区域的投影变换矩阵。
[0069]
在一种可能的实现方式中,利用边区域扩展的方法确定非目标区域的投影变换矩阵,可以在对输入图像中的目标区域进行分块之前,对非目标区域进行分块,得到多个第三分块区域。
[0070]
对应地,分区更新输入图像可以包括:
[0071]
获取多个第三分块区域对应的投影变换矩阵;
[0072]
根据多个第三分块区域对应的投影变换矩阵以及多个第一分块区域对应的投影变换矩阵,分区更新输入图像。
[0073]
在本技术实施例中,由于多个第三分块区域是视角外的区域,因此在矫正时不需要过高的精确度,在满足基本矫正效果的前提下,可节约此部分的计算时间,直接将相邻区域的投影变换矩阵作为对应第三分块区域的投影变换矩阵即可,使非目标区域在满足基本矫正效果的前提下,提高矫正的实时性。
[0074]
在一种可能的实现方式中,获取多个第三分块区域对应的投影变换矩阵,可以是指将相邻区域的投影变换矩阵作为对应第三分块区域的投影变换矩阵。具体可以包括以下情形:
[0075]
若第三分块区域与任一第一分块区域相邻,则将该第一分块区域对应的投影变换矩阵确定为与之相邻的第三分块区域对应的投影变换矩阵;
[0076]
若第三分块区域与任一第三分块区域相邻且未检测到与之相邻的第一分块区域,则将该第三分块区域对应的投影变换矩阵确定为与之相邻的第三分块区域对应的投影变换矩阵。
[0077]
在本技术实施例中,获取到多个第三分块区域对应的投影变换矩阵之后,多个第
三分块区域和多个第一分块区域共同构成了输入图像,因此可以根据多个第三分块区域对应的投影变换矩阵以及多个第一分块区域对应的投影变换矩阵,分区更新输入图像。
[0078]
需要说明的是,实际使用时,可以根据实际需要以及具体的应用场景,确定多个第一分块区域以及多个第三分块区域的数量,本技术实施例对此不做限定。例如,第一分块区域的数量可以是6个、9个等,第三分块区域的数量可以是4个、6个、8个等。
[0079]
在本技术实施例中,其车辆在行驶的过程中,可以通过获取畸变待矫正图像和对应的输入图像,分别确定出了输入图像中的第一特征点坐标和畸变待矫正图像中的第二特征点坐标,由于第一特征点坐标与第二特征点坐标相对应,因此可以根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,使输入图像变为对应的畸变图像,使投影后的图像为无畸变图像,以矫正畸变待矫正图像。上述方案实现了对hud投影图像的畸变矫正,可以使hud在挡风玻璃上呈现正常无畸变的图像。
[0080]
参见图2,示出了本技术实施例二提供的一种hud成像的畸变矫正方法的流程示意图。如图2所示,该hud成像的畸变矫正方法可以包括如下步骤:
[0081]
步骤201,在车辆行驶过程中,获取畸变待矫正图像和对应的输入图像。
[0082]
步骤202,对输入图像中的目标区域进行分块,确定输入图像中的第一特征点坐标,以及畸变待矫正图像中的第二特征点坐标。
[0083]
本实施例步骤201-202与前述实施例步骤101-102相同,可以相互参阅,本实施例在此不再赘述。
[0084]
步骤203,获取输入图像中的基准点。
[0085]
其中,基准点,是指输入图像投影前后坐标无变化的点,即该基准点在输入图像像素坐标系下以及畸变待矫正图像像素坐标系下的坐标相同。需要说明的是,该基准点可以是除原点外满足上述条件的任意像素点。
[0086]
其中,输入图像中的基准点可以通过遍历输入图像所有像素点以及畸变待矫正图像所有像素点的方式获取。
[0087]
步骤204,根据基准点,对畸变待矫正图像中的每个像素点进行归一化,以使畸变待矫正图像变换至输入图像的坐标系下。
[0088]
在本技术实施例中,由于投影前后,图像的像素坐标不统一,即在两个平面内,其分辨率等基本信息均不相同,因此可以对畸变待矫正图像进行图像变换操作,以使畸变待矫正图像变换至输入图像的坐标系下。由于基准点在两幅图像中的坐标是相同的,因此可以在畸变待矫正图像中,以基准点为中心,对畸变待矫正图像进行平移缩放等图像变换操作,即对畸变待矫正图像中的每个像素点进行归一化,将畸变待矫正图像变换至输入图像的坐标系下。
[0089]
应理解,将将畸变待矫正图像变换至输入图像的坐标系下,输入图像中的像素点无需进行归一化,也可以使输入图像和畸变待矫正图像处在同一坐标系下。
[0090]
步骤205,获取第二特征点在输入图像的坐标系下的更新坐标。
[0091]
其中,更新坐标,可以是指归一化后的第二特征点的像素坐标。
[0092]
在本技术实施例中,在首先确定第二特征点之后,可以根据第二特征点的原坐标,确定出第二特征点归一化之后的更新坐标。
[0093]
步骤206,根据每个第一特征点坐标和对应的第二特征点坐标的更新坐标,分区更
新输入图像,以矫正畸变待矫正图像。
[0094]
本实施例步骤206中根据每个第一特征点坐标和对应的第二特征点坐标的更新坐标,分区更新输入图像,与前述实施例步骤103中根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,所采用的方法相同,可以相互参阅,本实施例在此不再赘述。
[0095]
作为一种可能的实现方式,根据分区更新输入图像,矫正畸变待矫正图像包括:
[0096]
分区更新输入图像,得到输入图像对应的预畸变图像;
[0097]
将预畸变图像经光学元件进行投影显示,得到矫正后的畸变待矫正图像。
[0098]
在本技术实施例中,由于首先对输入图像进行了预畸变操作,使输入图像变为了相应的畸变图像,则再将预畸变图像经光学元件进行投影显示,由于输入图像与投影图像之间的投影变换矩阵不发生变化,因此预畸变图像投影后将会变成无畸变图像,即矫正后的畸变待矫正图像。
[0099]
相较于实施例一,本技术实施例在根据每个第一特征点坐标以及对应的第二特征点坐标,分区更新输入图像之前,可以通过获取输入图像的基准点,对畸变待矫正图像中的每个像素点进行归一化,以使畸变待矫正图像变换至输入图像的坐标系下,相较于实施例一中使畸变待矫正图像和输入图像处于同一坐标系下的方法,本技术实施例中只需变换畸变待矫正图像所处的坐标系即可,节约了变换时间,提高了系统的运算速度,减少了畸变矫正所需的时长,使畸变矫正具备了更高的实时性。
[0100]
参见图3,示出了本技术实施例三提供的一种hud成像的畸变矫正装置的结构示意图,为了便于说明,仅示出了与本技术实施例相关的部分。
[0101]
hud成像的畸变矫正装置具体可以包括如下模块:
[0102]
获取模块301,用于在车辆行驶过程中,获取畸变待矫正图像和对应的输入图像,其中,畸变待矫正图像为对应的输入图像经光学元件投影后得到的图像;
[0103]
特征确定模块302,用于对输入图像中的目标区域进行分块,确定输入图像中的第一特征点坐标,以及畸变待矫正图像中的第二特征点坐标,第一特征点坐标与第二特征点坐标相对应;
[0104]
矫正模块303,用于根据每个第一特征点坐标和对应的第二特征点坐标,分区更新输入图像,以矫正畸变待矫正图像。
[0105]
在本技术实施例中,特征确定模块302具体可以包括如下子模块:
[0106]
第一分块子模块,用于对输入图像中的目标区域进行分块,得到多个第一分块区域;
[0107]
第二分块子模块,用于根据输入图像的分块结果,确定畸变待矫正图像中对应的多个第二分块区域;
[0108]
第一特征点确定子模块,用于根据多个第一分块区域中像素点的灰度值,确定每个第一分块区域中的第一特征点坐标;
[0109]
第二特征点确定子模块,用于根据多个第二分块区域中像素点的灰度值,确定每个第二分块区域中的第二特征点坐标。
[0110]
在本技术实施例中,矫正模块303具体可以包括如下子模块:
[0111]
矩阵确定子模块,用于针对每个第一分块区域,根据该第一分块区域中的第一特征点坐标与对应第二分块区域中的第二特征点坐标,确定该第一分块区域从输入图像到畸
变待矫正图像的投影变换矩阵;
[0112]
分区更新子模块,用于根据每个第一分块区域对应的投影变换矩阵,分区更新输入图像。
[0113]
在本技术实施例中,输入图像包括目标区域和非目标区域,hud成像的畸变矫正装置还包括:
[0114]
非目标分块模块,用于对非目标区域进行分块,得到多个第三分块区域;
[0115]
对应地,矫正模块具体可以包括如下子模块:
[0116]
矩阵获取子模块,用于获取多个第三分块区域对应的投影变换矩阵;
[0117]
输入更新子模块,用于根据多个第三分块区域对应的投影变换矩阵以及多个第一分块区域对应的投影变换矩阵,分区更新输入图像。
[0118]
在本技术实施例中,矩阵获取子模块具体可以包括如下单元:
[0119]
第一判断单元,用于若第三分块区域与任一第一分块区域相邻,则将该第一分块区域对应的投影变换矩阵确定为与之相邻的第三分块区域对应的投影变换矩阵;
[0120]
第二判断单元,用于若第三分块区域与任一第三分块区域相邻且未检测到与之相邻的第一分块区域,则将该第三分块区域对应的投影变换矩阵确定为与之相邻的第三分块区域对应的投影变换矩阵。
[0121]
在本技术实施例中,hud成像的畸变矫正装置还可以包括如下模块:
[0122]
基准点获取模块,用于获取输入图像中的基准点,基准点为输入图像投影前后坐标无变化的点;
[0123]
归一化模块,用于根据基准点,对畸变待矫正图像中的每个像素点进行归一化,以使畸变待矫正图像变换至输入图像的坐标系下;
[0124]
对应地,矫正模块303具体还可以包括如下子模块:
[0125]
更新坐标获取子模块,用于获取第二特征点在输入图像的坐标系下的更新坐标;
[0126]
更新子模块,用于根据每个第一特征点坐标和对应的第二特征点的更新坐标,分区更新输入图像。
[0127]
在本技术实施例中,矫正模块303具体还可以包括如下子模块:
[0128]
预畸变子模块,用于分区更新输入图像,得到输入图像对应的预畸变图像;
[0129]
投影显示子模块,用于将预畸变图像经光学元件进行投影显示,得到矫正后的畸变待矫正图像。
[0130]
本技术实施例提供的hud成像的畸变矫正装置可以应用在前述方法实施例中,详情参见上述方法实施例的描述,在此不再赘述。
[0131]
图4是本技术实施例四提供的终端设备的结构示意图。如图4所示,该实施例的终端设备400包括:至少一个处理器410(图4中仅示出一个)处理器、存储器420以及存储在所述存储器420中并可在所述至少一个处理器410上运行的计算机程序421,所述处理器410执行所述计算机程序421时实现上述hud成像的畸变矫正方法实施例中的步骤。
[0132]
所述终端设备400可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器410、存储器420。本领域技术人员可以理解,图4仅仅是终端设备400的举例,并不构成对终端设备400的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设
备等。
[0133]
所称处理器410可以是中央处理单元(central processing unit,cpu),该处理器410还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0134]
所述存储器420在一些实施例中可以是所述终端设备400的内部存储单元,例如终端设备400的硬盘或内存。所述存储器420在另一些实施例中也可以是所述终端设备400的外部存储设备,例如所述终端设备400上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器420还可以既包括所述终端设备400的内部存储单元也包括外部存储设备。所述存储器420用于存储操作系统、应用程序、引导装载程序(boot loader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器420还可以用于暂时地存储已经输出或者将要输出的数据。
[0135]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0136]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0137]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0138]
在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0139]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目
的。
[0140]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0141]
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0142]
本技术实现上述实施例方法中的全部或部分流程,也可以通过一种计算机程序产品来完成,当所述计算机程序产品在终端设备上运行时,使得所述终端设备执行时可实现上述各个方法实施例中的步骤。
[0143]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。