车底区域缓冲图像的相关方法、装置、系统及存储介质与流程

文档序号:33545435发布日期:2023-03-22 09:50阅读:34来源:国知局
车底区域缓冲图像的相关方法、装置、系统及存储介质与流程

1.本技术涉及车辆电子设备技术领域,特别是涉及车底区域缓冲图像的相关方法、装置、系统及存储介质。


背景技术:

2.目前比较成熟的全景影像技术360度全景影像,是通过车载显示屏幕观看汽车四周的全景,具有超宽视角,能够消除视线盲区,是一种更直观、更安全可靠的辅助驾驶技术。通常做法是在汽车周围安装能覆盖车辆周边所有视场范围的4个广角鱼眼摄像头,对同一时刻采集到的多路视频影像进行拼接,从而合成一幅包含车辆周边360度视野的全景环视图,最后在中控台的屏幕上显示出来。但是,传统的360度全景影像,只能实时观看到车子四周的景象,并不能实时显示车底路况。驾驶者看不到脚下路面的状况,存在一定的安全隐患。
3.现有方案可以通过缓冲上一帧或者上一时刻的鱼眼图和车底图像数据,对当前帧或者当前时刻的车底部分进行填充,或者通过缓冲上一帧或者上一时刻的拼接环视数据(包含车底图像数据),对当前帧或者当前时刻的车底部分进行填充,通过频繁的缓冲、填充操作,来实现车底的完全透视效果。
4.然而,现有方案存在以下问题:(1)使用缓冲数据对车底部分进行填充,理论上是一次图像采样过程,由于连续两帧的车底部分会有很大的重叠部分,所以如果用上一帧的车底数据对当前帧的车底区域进行对应填充,势必造成车底某一块区域的频繁采样过程,最终导致显示的车底场景异常模糊,与车底周围场景的清晰度相差甚大。如果用上一时刻的数据对当前时刻的车底区域进行填充,中间的时间间隔又不好确定,如果设置过短,则车底图像会变得模糊,如果设置时间过长,即不适用于速度过快的场景,也不好确定缓冲图片的数量。(2)缓冲操作频繁,或者缓冲数据量大。如果缓冲上一帧数据给当前帧用,则每帧都需要缓冲、释放数据。如果缓冲某一历史时刻的数据,给后面的某一时刻用,则可能需要缓冲多帧数据。这两种方案对于cpu或者gpu的性能要求都很高,不利于实际的应用实现。(3)如果缓冲鱼眼数据来填充车底区域,由于原始图像数据没有经过亮度均衡,所以当前、后、左、右四个图像亮度不一致时,最终显示的车底部分和周围区域会有明显的亮度不均衡问题。如果直接缓冲全景环视图,由于环视图是四幅鱼眼原始图像经过拼接最终显示在屏幕端的图像,虽然有可能解决亮度均衡的问题,但是频繁、大量的数据缓冲在gpu端是非常消耗性能的,并不利于实际的应用实现。


技术实现要素:

5.本技术主要解决的技术问题是提供一种车底区域缓冲图像的相关方法、装置、系统及存储介质,能够实时显示车底路况。
6.为了解决上述问题,本技术第一方面提供了一种车底区域缓冲图像的更新方法,所述方法包括:利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像;基于所述
车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像;若需要,则利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像;若不需要,则将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像。
7.为了解决上述问题,本技术第二方面提供了一种车辆全景影像的显示方法,所述方法包括:获取车辆四面的当前帧图像以及车辆的当前状态参数;利用所述车辆四面的当前帧图像以及车辆周围区域在所述车辆四面的当前帧图像中的纹理坐标,得到车辆的当前帧周围区域图像;利用所述车辆的当前状态参数确定车底区域在当前帧车底区域缓冲图像中的纹理坐标,得到车辆的当前帧车底区域图像;根据所述当前帧周围区域图像和所述当前帧车底区域图像,得到车辆的当前帧全景俯视拼接图并显示;其中,所述当前帧车底区域缓冲图像通过上述第一方面的车底区域缓冲图像的更新方法得到。
8.为了解决上述问题,本技术第三方面提供了一种车底区域缓冲图像的更新装置,所述车底区域缓冲图像的更新装置包括:获取模块,所述获取模块用于利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像;判断模块,所述判断模块用于基于所述车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像;处理模块,所述处理模块用于在需要更新车底区域缓冲图像时,利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像,在不需要更新车底区域缓冲图像时,将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像。
9.为了解决上述问题,本技术第四方面提供了一种车辆全景影像的显示系统,包括相互耦接的摄像头、显示器、存储器和处理器;所述摄像头用于采集车辆四面的图像;所述显示器用于显示车辆的全景俯视拼接图;所述处理器用于执行所述存储器中存储的程序指令,以实现上述第二方面的车辆全景影像的显示方法。
10.为了解决上述问题,本技术第五方面提供了一种计算机可读存储介质,存储有能够被处理器运行的程序数据,所述程序数据用于实现上述第一方面的车底区域缓冲图像的更新方法,或第二方面的车辆全景影像的显示方法。
11.本发明的有益效果是:区别于现有技术的情况,本技术可以利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像,并且在每次获取到车底区域图像后,可以基于车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像,在需要更新车底区域缓冲图像时,利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像,在不需要更新车底区域缓冲图像时,则将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像,从而可以实现根据下一帧车底区域缓冲图像来获取车辆的下一帧车底区域图像,即可以实现不断获取车辆的车底区域图像,实现实时显示车底路况。另外,根据车辆的当前状态参数和缓冲间隔可以判断是否需要更新车底区域缓冲图像,若不需要,则将当前帧车底区域缓冲图像作为下一帧车底区域缓冲图像,于是一次缓冲图像的图像内容可以给后面的连续多帧使用,这样可以避免对连续帧的车底重合区域进行反复的缓冲、填充,可以有效提高车底图像显示的最终清晰度。
附图说明
12.图1是本技术车底区域缓冲图像的更新方法一实施例的流程示意图;
13.图2是图1中步骤s12一实施例的流程示意图;
14.图3a和图3b是一实施例中车辆的缓冲图像与车辆的运动方向的关系显示示意图;
15.图3c和图3d是一实施例中缓冲间隔与缓冲图像的关系显示示意图;
16.图4是图1中步骤s13一实施例的流程示意图;
17.图5a是一实施例中车辆的当前帧周围区域图像的显示示意图;
18.图5b是一实施例中车辆的当前帧车底区域图像的显示示意图;
19.图5c是一实施例中车辆的当前帧全景俯视拼接图的显示示意图;
20.图6是一实施例中车辆的缓冲区域与当前帧全景俯视拼接图的关系显示示意图;
21.图7是本技术车底区域缓冲图像的更新方法另一实施例的流程示意图;
22.图8是一实施例中车身在车辆的缓冲区域内的最大移动距离的显示示意图;
23.图9是本技术车辆全景影像的显示方法一实施例的流程示意图;
24.图10是图9中步骤s93一实施例的流程示意图;
25.图11是本技术车底区域缓冲图像的更新装置一实施例的框架示意图;
26.图12是本技术车辆全景影像的显示系统一实施例的框架示意图;
27.图13是本技术计算机可读存储介质一实施例的框架示意图。
具体实施方式
28.下面结合说明书附图,对本技术实施例的方案进行详细说明。
29.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
30.本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
31.请参阅图1,图1是本技术车底区域缓冲图像的更新方法一实施例的流程示意图。具体而言,可以包括如下步骤:
32.步骤s11:利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像。
33.本技术中,由于下一帧车底区域缓冲图像为当前帧全景俯视拼接图中的部分图像,即当前帧车底区域缓冲图像为前一帧全景俯视拼接图中的部分图像,为已知信息,根据图像帧率、车辆速度和车轮转角等当前状态参数可以确定车底区域在当前帧车底区域缓冲图像中的纹理坐标,进而可以通过当前帧车底区域缓冲图像得到车辆的当前帧车底区域图像。
34.步骤s12:基于所述车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像。若需要更新车底区域缓冲图像,则执行步骤s13;若不需要更新车底区域缓冲图像,则执行步骤s14。
35.本技术中,当前帧车底区域缓冲图像为前一帧全景俯视拼接图中的部分图像,下一帧车底区域缓冲图像为所述当前帧全景俯视拼接图中的部分图像,而由于前一帧全景俯视拼接图与当前帧全景俯视拼接图可能不同,根据车辆的当前状态参数,可能出现当前帧全景俯视拼接图完全包括当前帧车底区域缓冲图像的情况,也可能出现当前帧全景俯视拼接图不完全包括当前帧车底区域缓冲图像的情况。当出现当前帧全景俯视拼接图完全包括
当前帧车底区域缓冲图像的情况时,此时可以确定下一帧车底区域缓冲图像即为当前帧车底区域缓冲图像,不需要更新缓冲图像;当出现当前帧全景俯视拼接图不完全包括当前帧车底区域缓冲图像的情况时,此时则需要根据当前帧全景俯视拼接图来确定下一帧车底区域缓冲图像,需要更新缓冲图像。又或者,如果每帧都对车底部分进行缓冲,即每帧都更新缓冲图像,由于帧与帧之间的时间间隔很小,相邻两帧的车底区域会有很大的重叠区域,连续帧的重复区域会进行频繁的缓冲、填充,即会造成性能的浪费,也会导致重叠区域的清晰度下降,因此通过设置缓冲间隔,当不满足缓冲间隔条件时,此时可以确定下一帧车底区域缓冲图像即为当前帧车底区域缓冲图像,不需要更新缓冲图像;当满足缓冲间隔条件时,此时则需要根据当前帧全景俯视拼接图来确定下一帧车底区域缓冲图像,需要更新缓冲图像。
36.步骤s13:利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像。
37.当需要更新缓冲图像时,由于下一帧车底区域缓冲图像为当前帧全景俯视拼接图中的部分图像,可以通过获取车辆的当前帧周围区域图像,然后与当前帧车底区域图像拼接,得到当前帧全景俯视拼接图,然后读取并保存当前帧全景俯视拼接图中的部分区域来得到下一帧车底区域缓冲图像。
38.步骤s14:将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像。
39.如果不需要更新缓冲图像,则复用原来的缓冲图像,即可以将当前帧车底区域缓冲图像作为下一帧车底区域缓冲图像。
40.上述方案,可以利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像,并且在每次获取到车底区域图像后,可以基于车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像,在需要更新车底区域缓冲图像时,利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像,在不需要更新车底区域缓冲图像时,则将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像,从而可以实现根据下一帧车底区域缓冲图像来获取车辆的下一帧车底区域图像,即可以实现不断获取车辆的车底区域图像,实现实时显示车底路况。另外,根据车辆的当前状态参数和缓冲间隔可以判断是否需要更新车底区域缓冲图像,若不需要,则将当前帧车底区域缓冲图像作为下一帧车底区域缓冲图像,于是一次缓冲图像的图像内容可以给后面的连续多帧使用,这样可以避免对连续帧的车底重合区域进行反复的缓冲、填充,可以有效提高车底图像显示的最终清晰度。
41.请结合图2,图2是图1中步骤s12一实施例的流程示意图。在一实施例中,上述步骤s12具体可以包括:
42.步骤s121:根据所述车辆的当前状态参数判断车辆的运动方向是否改变。其中,所述车辆的运动方向包括车辆前进方向和车辆后退方向。若车辆的运动方向改变,则执行步骤s122;若车辆的运动方向未改变,则执行步骤s123。
43.步骤s122:确定需要更新所述车底区域缓冲图像。此时可以进一步执行步骤s13。
44.步骤s123:判断所述当前帧车底区域图像距离所述当前帧车底区域缓冲图像的缓冲时刻之间的帧数是否小于缓冲间隔数。若帧数小于缓冲间隔数,则执行步骤s124;若帧数大于或等于缓冲间隔数,则执行步骤s125。
45.可以理解的是,在获取到当前帧车底区域图像后,首先可以根据车辆的运动方向判断是否需要更新缓冲图像,如果车辆的运动方向改变,则需要更新缓冲图像,否则需要根
据缓冲间隔进一步判断是否需要更新缓冲图像。请结合图3a和图3b,图3a和图3b是一实施例中车辆的缓冲图像与车辆的运动方向的关系显示示意图,由于车辆的当前帧车底区域缓冲图像显示的区域包括车身区域以及车身运动的延伸区域,例如在车辆处于前进方向(包括正前、左前、右前)时,车辆的当前帧车底区域缓冲图像如图3a所示,在车辆处于后退方向(包括正后、左后、右后)时,车辆的当前帧车底区域缓冲图像如图3b所示,当车辆改变运动方向时,下一时刻车辆的部分位置大概率不在车辆的当前帧车底区域缓冲图像所显示的区域内,因此,若车辆的运动方向改变,则需要更新缓冲图像。
46.如果没有改变运动方向,则需要根据缓冲间隔进一步判断是否需要更新缓冲图像。请结合图3c和图3d,图3c和图3d是一实施例中缓冲间隔与缓冲图像的关系显示示意图。如果每帧都对车底部分进行缓冲,即每帧都更新缓冲图像,如图3c图示,假设车辆自左向右下方行驶,其中矩形区域s1、s2、s3分别是第n帧、n+1帧、n+2帧车辆所在位置,由于帧与帧之间的时间间隔很小,相邻两帧的车底区域会有很大的重叠区域;如果用第n帧的车底及周围区域对第n+1帧的车底区域进行填充,然后再用第n+1帧的车底及周围区域对第n+2帧的车底区域进行填充,那连续帧的重复区域会进行频繁的缓冲、填充,即会造成性能的浪费,也会导致重叠区域的清晰度下降,因为填充其实是一次图像纹理采样过程,对重叠区域反复的缓冲、填充本质上就是对同一块区域的采样、再采样过程,所以会导致车底区域的图像在最终显示时异常模糊。如果间隔n帧对图像进行缓冲,缓冲图像给后面的连续n帧使用,如图3d所示,假设矩形区域s1、s2、s3分别是第n帧、n+n帧、n+n+n帧车辆所在位置,则n越大,相邻缓冲帧之间的重叠区域就越小;这样可以有效减少对同一块区域的反复采样过程,所以能有效提高车底图像最终显示的清晰度;另外,缓冲一帧图像,是给后面的连续n帧使用,也可以有效减少缓冲次数,提高性能利用;其中n的大小是由缓冲区域、车速等自适应计算生成。
47.步骤s124:确定不需要更新所述车底区域缓冲图像。此时可以进一步执行步骤s14。
48.步骤s125:确定需要更新所述车底区域缓冲图像。此时可以进一步执行步骤s13。
49.于是,根据缓冲间隔可以判断是否需要更新缓冲图像,如果当前帧车底区域图像对应的时刻距离当前帧车底区域缓冲图像的缓冲时刻之间的帧数大于等于缓冲间隔数n,则确定需要更新缓冲图像,反之确定不需要更新缓冲图像。按照这种操作,一次缓冲图像的图像内容可以给后面的连续n帧使用,这样可以避免对连续帧的车底重合区域进行反复的缓冲、填充,可以有效提高车底图像显示的最终清晰度。
50.具体地,请结合图4,图4是图1中步骤s13一实施例的流程示意图。在一实施例中,上述步骤s13具体可以包括:
51.步骤s131:获取车辆四面的当前帧图像以及所述车辆的当前状态参数。
52.具体地,车辆四周的图像可以为鱼眼图像,通过在车辆的四面分别设置一个广角鱼眼摄像头,位于前后左右四个方向的广角鱼眼摄像头能覆盖车辆周边所有视场范围,在同一时刻可以利用该4个广角鱼眼摄像头分别获取一帧鱼眼图像;于是,对于当前帧来说,可以获取车辆四面的当前帧鱼眼图像,另外,可以获取当前帧对应时刻的车辆的当前状态参数,车辆的当前状态参数可以包括图像帧率、车辆速度和车轮转角等实时信息。
53.步骤s132:利用所述车辆四面的当前帧图像以及车辆周围区域在所述车辆四面的当前帧图像中的纹理坐标,得到车辆的当前帧周围区域图像。
54.如图5a所示,图5a是一实施例中车辆的当前帧周围区域图像的显示示意图,依据360度全景标定算法,可以确定车辆周围区域在所述车辆四面的当前帧鱼眼图像中的纹理坐标,然后利用车辆四面的当前帧鱼眼图像,可以拼接出车辆的当前帧周围区域图像,车辆的当前帧周围区域图像可以显示出车辆的周围区域,但不能显示车底区域。
55.步骤s133:根据所述当前帧周围区域图像和所述当前帧车底区域图像,得到车辆的当前帧全景俯视拼接图。
56.本技术可以从当前帧车底区域缓冲图像中获取车辆的当前帧车底区域图像,如图图5b所示,结合步骤s132和步骤s11的结果,可以绘制出完整的全景俯视拼接图,例如将当前帧车底区域图像贴至当前帧周围区域图像中,可以获得车辆的当前帧全景俯视拼接图,如图5c所示。
57.步骤s134:根据车辆的运动方向确定车辆的缓冲区域。
58.步骤s135:确定所述车辆的缓冲区域在所述当前帧全景俯视拼接图中的对应位置。
59.步骤s136:截取所述车辆的缓冲区域在所述当前帧全景俯视拼接图中的对应位置的图像,作为所述下一帧车底区域缓冲图像。
60.如图6所示,图6是一实施例中车辆的缓冲区域与当前帧全景俯视拼接图的关系显示示意图,首先需要根据车辆的运动方向来确定车辆的缓冲区域,将车辆的当前区域加上运动方向的延伸区域为车辆的缓冲区域,然后确定车辆的缓冲区域在当前帧全景俯视拼接图中的对应位置,通过截取车辆的缓冲区域在当前帧全景俯视拼接图中的对应位置的图像,可以作为下一帧车底区域缓冲图像。由于全景俯视拼接图一般是通过gpu直接绘制在屏幕显示端,所以该步骤需要获取部分显存内容,比较消耗性能,所以该步骤的操作次数越少越好,缓冲区域也是越小越好。
61.进一步地,请结合图3a和图3b,所述车辆的缓冲区域包括所述车底区域和拓展区域,所述拓展区域包括车辆两侧的两个第一子区域sa和所述车辆的运动方向一侧的一个第二子区域sb;其中,所述第一子区域sa的长度为车辆的车身长度,所述第一子区域sa的宽度w与车辆的车身宽度相关,所述第二子区域sb的宽度为车辆的车身宽度加上两个所述第一子区域sa的宽度w,所述第二子区域sb的长度h与车辆的车身长度相关。
62.具体地,为了控制缓冲图像的大小,本技术实施例根据车辆的运动方向来调整缓冲区域,如果车向前(包括左前、右前)运动,缓冲区域如图3a所示,如果车向后(包括左后、右后)运动,缓冲区域如图3b所示。其中h、w是在车宽、车长方向的拓展缓冲区域,大小是可以自定义设置的,h、w值的大小会直接影响到车底图像最终的显示清晰度。
63.进一步地,所述第一子区域sa的宽度w为所述车辆的车身宽度的0.25倍,所述第二子区域sb的长度h为所述车辆的车身长度的0.5-1倍。具体地,考虑到车辆在运行过程中左右移动距离一般都小于前后移动距离,所以w一般设置较小,h一般设置较大,另外为了平衡图像清晰度和全景俯视图的显示范围,h可以设置为0.5-1倍的车长,w可以设置为0.25倍左右的车宽。
64.请结合图7,图7是本技术车底区域缓冲图像的更新方法另一实施例的流程示意图。在一实施例中,车底区域缓冲图像的更新方法包括如下步骤:
65.步骤s71:利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像。
66.步骤s72:基于所述车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像。若需要更新车底区域缓冲图像,则执行步骤s73;若不需要更新车底区域缓冲图像,则执行步骤s74。
67.步骤s73:利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像。
68.步骤s74:将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像。
69.本实施例中的步骤s71至步骤s74与前述实施例中的步骤s11至步骤s14基本相同,此处不再赘述。
70.进一步地,所述车辆的当前状态参数包括图像帧率、车辆速度和车轮轨迹。可以理解的是,由于车辆在运动过程中,车辆的状态参数会一直在变化,因此,在步骤s73和步骤s74中得到下一帧车底区域缓冲图像后,均需要根据缓冲区域大小、车速、帧率等信息实时计算并更新缓冲间隔数n。本实施例与前述实施例的区别在于,本实施例还可以包括:
71.步骤s75:根据车辆的运动方向确定车辆的缓冲区域。
72.步骤s76:利用车轮轨迹线模型计算出车身在所述车辆的缓冲区域内的最大移动距离。
73.具体地,请结合图8,图8是一实施例中车身在车辆的缓冲区域内的最大移动距离的显示示意图,根据缓冲区域的大小和车轮轨迹线模型,可以计算出车身在缓冲区域内的最大移动距离d。例如,如果车辆向正前方行驶,则d最大为缓冲拓展宽度h,如果车辆向左前方行驶,则d由缓冲拓展的长度h、宽度w和轨迹线应用模型共同决定。
74.步骤s77:根据所述最大移动距离、所述车辆速度和所述图像帧率计算所述缓冲间隔数。
[0075][0076]
距离,f为所述图像帧率,v为所述车辆速度。
[0077]
可以理解的是,基于上述公式,根据车身的最大移动距离d(km)、车辆速度v(km/h)、图像帧率f(fps),可以计算得到缓冲间隔数n。例如,在缓冲区域内车身的最大移动距离为3m,图像帧率为30fps,车速为30km/h,则计算缓冲间隔数为10帧,即每隔10帧缓冲一次缓冲图像,当d一定时,车速v越小,缓冲间隔数n越大,由于轨迹线路径、车速可能实时变化,缓冲间隔数n也需要每帧实时地更新。
[0078]
请参阅图9,图9是本技术车辆全景影像的显示方法一实施例的流程示意图。在一实施例中,车辆全景影像的显示方法包括如下步骤:
[0079]
步骤s91:获取车辆四面的当前帧图像以及车辆的当前状态参数。
[0080]
步骤s92:利用所述车辆四面的当前帧图像以及车辆周围区域在所述车辆四面的当前帧图像中的纹理坐标,得到车辆的当前帧周围区域图像。
[0081]
步骤s93:利用所述车辆的当前状态参数确定车底区域在当前帧车底区域缓冲图像中的纹理坐标,得到车辆的当前帧车底区域图像。
[0082]
步骤s94:根据所述当前帧周围区域图像和所述当前帧车底区域图像,得到车辆的当前帧全景俯视拼接图并显示。
[0083]
结合步骤s92和步骤s93的结果,可以绘制出完整的全景俯视拼接图,例如将当前帧车底区域图像贴至当前帧周围区域图像中,可以获得车辆的当前帧全景俯视拼接图,并
进行显示。
[0084]
其中,所述当前帧车底区域缓冲图像通过上述任意一种车底区域缓冲图像的更新方法得到。
[0085]
上述方案,利用车辆四面的当前帧图像以及车辆周围区域在车辆四面的当前帧图像中的纹理坐标,可以得到车辆的当前帧周围区域图像,并利用车辆的当前状态参数确定车底区域在当前帧车底区域缓冲图像中的纹理坐标,可以得到车辆的当前帧车底区域图像,于是可以根据当前帧周围区域图像和当前帧车底区域图像,得到车辆的当前帧全景俯视拼接图,然后在绘制完当前帧全景俯视拼接图后确定下一帧车底区域缓冲图像,以便于后续全景俯视拼接图的绘制,可以实现车底的完全透视效果。另外,根据车辆的当前状态参数和缓冲间隔可以判断是否需要更新缓冲图像,若需要,则利用当前帧全景俯视拼接图得到下一帧车底区域缓冲图像,若不需要,则将当前帧车底区域缓冲图像作为下一帧车底区域缓冲图像,于是一次缓冲图像的图像内容可以给后面的连续多帧使用,这样可以避免对连续帧的车底重合区域进行反复的缓冲、填充,可以有效提高车底图像显示的最终清晰度。并且由于下一帧车底区域缓冲图像为当前帧全景俯视拼接图中的部分图像,即只是缓冲车底及其周围的有限区域,而不是整个全景俯视拼接图,可以大幅度减少每次缓冲的图像数据;另外,由于全景拼接图的亮度均衡,缓冲图像为全景俯视拼接图中的部分图像,所以通过缓冲图像所确定的车底区域图像与周围区域图像之间不会有亮度突变问题,可以保证图像亮度均衡性。
[0086]
请结合图10,图10是图9中步骤s93一实施例的流程示意图。在一实施例中,上述步骤s93具体可以包括:
[0087]
步骤s931:根据所述车辆的当前状态参数确定车辆的当前时刻与所述当前帧车底区域缓冲图像的缓冲时刻之间的位移变换矩阵。
[0088]
步骤s932:利用所述位移变换矩阵,确定所述车底区域在所述当前帧车底区域缓冲图像中的纹理坐标。
[0089]
步骤s933:通过所述车底区域在所述当前帧车底区域缓冲图像中的纹理坐标,确定所述车底区域在所述当前帧车底区域缓冲图像中的对应位置。
[0090]
步骤s934:截取所述车底区域在所述当前帧车底区域缓冲图像中的对应位置的图像,作为车辆的所述当前帧车底区域图像。
[0091]
具体地,车辆的当前状态参数包括图像帧率、车辆速度和车轮转角。首先可以根据图像帧率、车辆速度和车轮转角等信息计算出车身的位移变换矩阵mat,即相对于生成当前帧车底区域缓冲图像的缓冲时刻,当前时刻车身的位移变换矩阵mat;本技术中,当前帧车底区域缓冲图像的缓冲时刻指的是第一次生成当前帧车底区域缓冲图像所对应图像内容的时刻,例如,在第a时刻对缓冲图像进行了更新,生成了第a帧缓冲图像,而在下一时刻所对应的第b帧缓冲图像与第a帧缓冲图像完全相同,即在下一时刻没有对缓冲图像进行更新,因此,第b帧缓冲图像的缓冲时刻为第a时刻。然后,根据位移变换矩阵mat,可以确定车底区域在当前帧车底区域缓冲图像中的纹理坐标,从而可以计算车底区域对应当前帧车底区域缓冲图像中的哪一块区域,确定车底区域在当前帧车底区域缓冲图像中的对应位置,然后通过截取车底区域在当前帧车底区域缓冲图像中的对应位置的图像,来作为车辆的当前帧车底区域图像。
[0092]
请参阅图11,图11是本技术车底区域缓冲图像的更新装置一实施例的框架示意图。所述车底区域缓冲图像的更新装置110包括获取模块1100、判断模块1102和处理模块1104。所述获取模块1100用于利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像;所述判断模块1102用于基于所述车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像;所述处理模块1104用于在需要更新车底区域缓冲图像时,利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像,在不需要更新车底区域缓冲图像时,将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像。
[0093]
上述方案,获取模块1100可以利用当前帧车底区域缓冲图像获取车辆的当前帧车底区域图像,并且在每次获取到车底区域图像后,判断模块1102可以基于车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像,处理模块1104在需要更新车底区域缓冲图像时,利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像,在不需要更新车底区域缓冲图像时,则将所述当前帧车底区域缓冲图像作为所述下一帧车底区域缓冲图像,从而可以实现根据下一帧车底区域缓冲图像来获取车辆的下一帧车底区域图像,即可以实现不断获取车辆的车底区域图像,实现实时显示车底路况。另外,根据车辆的当前状态参数和缓冲间隔可以判断是否需要更新车底区域缓冲图像,若不需要,则将当前帧车底区域缓冲图像作为下一帧车底区域缓冲图像,于是一次缓冲图像的图像内容可以给后面的连续多帧使用,这样可以避免对连续帧的车底重合区域进行反复的缓冲、填充,可以有效提高车底图像显示的最终清晰度。
[0094]
在一实施例中,所述判断模块1102执行基于所述车辆的当前状态参数和缓冲间隔,判断是否需要更新车底区域缓冲图像的步骤,包括:根据所述车辆的当前状态参数判断车辆的运动方向是否改变;其中,所述车辆的运动方向包括车辆前进方向和车辆后退方向;若改变,则确定需要更新所述车底区域缓冲图像;若未改变,则进一步判断所述当前帧车底区域图像距离所述当前帧车底区域缓冲图像的缓冲时刻之间的帧数是否小于缓冲间隔数;若是,则确定不需要更新所述车底区域缓冲图像;若不是,则确定需要更新所述车底区域缓冲图像。
[0095]
在一实施例中,所述处理模块1104执行利用所述当前帧车底区域图像得到下一帧车底区域缓冲图像的步骤,包括:获取车辆四面的当前帧图像以及所述车辆的当前状态参数;利用所述车辆四面的当前帧图像以及车辆周围区域在所述车辆四面的当前帧图像中的纹理坐标,得到车辆的当前帧周围区域图像;根据所述当前帧周围区域图像和所述当前帧车底区域图像,得到车辆的当前帧全景俯视拼接图;根据车辆的运动方向确定车辆的缓冲区域;确定所述车辆的缓冲区域在所述当前帧全景俯视拼接图中的对应位置;截取所述车辆的缓冲区域在所述当前帧全景俯视拼接图中的对应位置的图像,作为所述下一帧车底区域缓冲图像。
[0096]
在一实施例中,所述车辆的当前状态参数包括图像帧率、车辆速度和车轮轨迹;所述处理模块1104还用于根据车辆的运动方向确定车辆的缓冲区域;利用车轮轨迹线模型计算出车身在所述车辆的缓冲区域内的最大移动距离;根据所述最大移动距离、所述车辆速度和所述图像帧率计算所述缓冲间隔数。
[0097]
请参阅图12,图12是本技术车辆全景影像的显示系统一实施例的框架示意图。车辆全景影像的显示系统120包括相互耦接的摄像头123、显示器124、存储器121和处理器
122,摄像头123用于采集车辆四面的图像,显示器124用于显示车辆的全景俯视拼接图,处理器122用于执行存储器121中存储的程序指令,以实现上述任一车辆全景影像的显示方法实施例的步骤。在一个具体的实施场景中,车辆全景影像的显示系统120可以包括但不限于:微型计算机、服务器。
[0098]
具体而言,处理器122用于控制其自身以及存储器121以实现上述任一车辆全景影像的显示方法实施例的步骤。处理器122还可以称为cpu(central processing unit,中央处理单元)。处理器122可能是一种集成电路芯片,具有信号的处理能力。处理器122还可以是通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器122可以由集成电路芯片共同实现。
[0099]
请参阅图13,图13为本技术计算机可读存储介质一实施例的框架示意图。计算机可读存储介质130存储有能够被处理器运行的程序指令1300,程序指令1300用于实现上述任一车底区域缓冲图像的更新方法,或任一车辆全景影像的显示方法实施例的步骤。
[0100]
在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。
[0101]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0102]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0103]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1