图像数据处理方法、装置和电子设备
技术领域
本发明涉及商用光学技术领域,尤其是涉及一种图像数据处理方法、装置和电子设备。
背景技术
现有的模拟驾驶方案中,后视镜画面的处理一直是一大难点。目前的后视镜视野处理方法也大致分为三类,分为:车内视角模拟,后视镜画面直接显示在画面上。该方案在模拟驾驶中很常见,实现简单,但是效果非常差。无法让用户获得沉浸感,由于显示在前画面中,导致视野受限,非常破坏用户模拟驾驶的体验,且完全不符合驾驶习惯。
车内视角模拟,后视镜画面显示在汽车模型上。该方案运用广泛,但是缺点明显:如果视角在主驾驶位,那么看不见右后视镜,视野受限。如果视角在汽车中间,虽然能看见左右后视镜,但是非驾驶员视角没有一点代入感,驾驶体验大打折扣。并且,该方案包括表面上显示了后视镜视野,实际上画面透视关系完全错误,在汽车驾驶中后视镜画面是根据驾驶员的视角变化的,但是明显该方案只是单纯让相机从前向后显示,没有考虑驾驶员位置与后视镜的光学关系。
车内中后视镜显示左右后视镜视野,该方案在显示视野广阔,但是违背了驾驶员驾驶习惯,是不可取的。
发明内容
有鉴于此,本发明的目的在于提供一种图像数据处理方法、装置和电子设备,以提高后视镜画面处理的准确性,提升模拟驾驶的体验度。
第一方面,本发明实施例提供了一种图像数据处理方法,包括:确定驾驶员的视线与后视镜平面的夹角;基于夹角调整图像引擎;获取虚拟相机采集的图像数据;其中,虚拟相机的视角与后视镜的视角相同;基于调整后的图像引擎处理图像数据,得到处理后的图像数据。
在本发明较佳的实施例中,上述确定驾驶员的视线与后视镜平面的夹角的步骤,包括:获取驾驶员的位置信息和后视镜的视角信息;基于位置信息和视角信息确定驾驶员的视线与后视镜平面的夹角。
在本发明较佳的实施例中,上述在获取虚拟相机采集的图像数据的步骤之前,方法还包括:基于后视镜的视角信息向虚拟相机发送角度调整指令,以使虚拟相机的视角与后视镜的视角相同。
在本发明较佳的实施例中,上述图像引擎包括旋转矩阵;基于夹角调整图像引擎的步骤,包括:基于夹角确定目标的实像位置;其中目标为驾驶员从后视镜观察到的目标;基于实像位置和后视镜平面确定法线坐标;基于法线坐标确定反射矩阵;基于反射矩阵调整旋转矩阵。
在本发明较佳的实施例中,通过下述算式确定反射矩阵:
其中,R为反射矩阵,坐标系原点到后视镜平面的距离d=-n
xx
0-n
yy
0-n
zz
0;n
x、n
y和n
z均为距离坐标的参数。
在本发明较佳的实施例中,上述方法还包括:将处理后的图像数据发送至显示设备,以使显示设备显示处理后的图像数据。
第二方面,本发明实施例还提供一种图像数据处理装置,包括:夹角确定模块,用于确定驾驶员的视线与后视镜平面的夹角;图像引擎调整模块,用于基于夹角调整图像引擎;图像数据获取模块,用于获取虚拟相机采集的图像数据;其中,虚拟相机的视角与后视镜的视角相同;图像数据处理模块,用于基于调整后的图像引擎处理图像数据,得到处理后的图像数据。
在本发明较佳的实施例中,上述夹角确定模块,用于:获取驾驶员的位置信息和后视镜的视角信息;基于位置信息和视角信息确定驾驶员的视线与后视镜平面的夹角。
第三方面,本发明实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述的图像数据处理方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述的图像数据处理方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种图像数据处理方法、装置和电子设备,根据驾驶员的视线与后视镜平面的夹角调整图像引擎,并采用调整后的图像引擎处理图像数据,得到处理后的图像数据。处理后的图像数据具有更高的准确性,可以提升模拟驾驶的体验度。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种图像数据处理方法的流程图;
图2为本发明实施例提供的另一种图像数据处理方法的流程图;
图3为本发明实施例提供的一种镜面反射的示意图;
图4为本发明实施例提供的另一种镜面反射的示意图;
图5为本发明实施例提供的一种图像数据处理装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前的后视镜视野处理方法无法让用户获得沉浸感,后视镜显示的画面效果比较差,基于此,本发明实施例提供的一种图像数据处理方法、装置和电子设备,应用于光学的技术领域,具体涉及一种基于光学反射原理的后视镜视野系统。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种图像数据处理方法进行详细介绍。
实施例1
本发明实施例提供了一种图像数据处理方法,参见图1所示的一种图像数据处理方法的流程图,该图像数据处理方法包括如下步骤:
步骤S102,确定驾驶员的视线与后视镜平面的夹角。
驾驶员是指坐在车辆驾驶位的人员,驾驶员的视线是指看向后视镜平面的视线,后视镜平面就是指后视镜的镜面。一般来说,驾驶员会坐在驾驶位上,以一般身高(1.70m左右)的驾驶员为例,可以确定该人员人眼的位置,之后确定人眼与后视镜平面的连线,作为视线。后视镜平面与地面的角度并不固定,是可以由驾驶员调整的,根据驾驶员调整的后视镜平面的角度,就可以确定驾驶员的视线与后视镜平面的夹角。
步骤S104,基于夹角调整图像引擎。
图像引擎包括旋转矩阵(Rotation Matrix,RM),旋转矩阵是在乘以一个向量的时候有改变向量的方向但不改变大小的效果并保持了手性的矩阵。旋转矩阵不包括点反演,点反演可以改变手性,也就是把右手坐标系改变成左手坐标系或反之。本实施例中的旋转矩阵是指将模型空间的矩阵转化为透视空间的矩阵,本实施例中的旋转矩阵一般为MVP(Model Matrix View Matrix Projection Matrix,模型视图透视)矩阵。图像引擎用于对图像数据进行处理,以使处理后的图像数据更加真实,具有更高的准确性。调整后的图像引擎用于参与图形的计算和显示。
步骤S106,获取虚拟相机采集的图像数据;其中,虚拟相机的视角与后视镜的视角相同。
图像数据由虚拟相机采集,虚拟相机的视角与后视镜的视角相同,即虚拟相机采集的图像数据可以理解为人坐在驾驶位上可以看到的目标的图像数据。虚拟相机采集的图像数据就是人可以从后视镜看到的图像数据。
步骤S108,基于调整后的图像引擎处理图像数据,得到处理后的图像数据。
图像引擎中的旋转矩阵进行调整后,采用调整后的图像引擎处理图像数据,就可以得到具有准确性更好的处理后的图像数据。
本发明实施例提供的一种图像数据处理方法,根据驾驶员的视线与后视镜平面的夹角调整图像引擎,并采用调整后的图像引擎处理图像数据,得到处理后的图像数据。处理后的图像数据具有更高的准确性,可以提升模拟驾驶的体验度。
实施例2
本发明实施例还提供另一种图像数据处理方法;该方法在上述实施例方法的基础上实现;该方法重点描述确定驾驶员的视线与后视镜平面的夹角的具体实现方式。
如图2所示的另一种图像数据处理方法的流程图,该图像数据处理方法包括如下步骤:
步骤S202,获取驾驶员的位置信息和后视镜的视角信息。
驾驶员的位置信息是根据中位数身高数据确定的。中位数身高数据是指身高数据的中位数,一般可以为1.70m,可以让多个1.70m的驾驶员坐在驾驶位上,采集这些驾驶员的位置信息,之后求取平.均值,就是驾驶员的位置信息。后视镜的视角信息就是当前后视镜的角度,通过硬件串口获得当前后视镜的角度,再确定驾驶员的位置信息和后视镜的视角信息,可以轻松地确定驾驶员面部到后视镜镜面的最短距离。
步骤S204,基于位置信息和视角信息确定驾驶员的视线与后视镜平面的夹角。
在确定位置信息和视角信息之后,可以确定驾驶员的视线和后视镜平面的坐标,基于驾驶员的视线和后视镜平面的坐标,就可以确定驾驶员的视线和后视镜平面的夹角。
步骤S206,基于夹角调整图像引擎中的旋转矩阵。
旋转矩阵基于驾驶员的视线和后视镜平面的夹角确定旋转矩阵,可以通过步骤A1-步骤A4计算旋转矩阵:
步骤A1,基于夹角确定目标的实像位置;其中目标为驾驶员从后视镜观察到的目标。
步骤A2,基于实像位置和后视镜平面确定法线坐标。
步骤A3,基于法线坐标确定反射矩阵;
步骤A4,基于反射矩阵调整旋转矩阵。
计算旋转矩阵的原理是:视点所接受的光线是通过镜面反射进入视点的,于是在人脑中出现了一个与镜面相对称的虚像。其中,镜面反射是指当一束平行入射的光线射入到一个平面时,能平行地向一个方向反射出来。
参见图3所示的一种镜面反射的示意图,镜面反射的虚像和实像是与镜面对称的,虚像和实像的顶点连线与镜面垂直,且顶点到镜面的垂直距离是相同的。即,已知实像的各个顶点坐标与镜面,求实像相对于镜面的各个顶点虚像坐标。这里面其实只需要完成一个顶点的变换,其他顶点的变换都是相同的。
假设Q(x,y,z)是实像上一个点,三维空间中平面使用
等式来表示,其中P是平面上任意一点,N向量是平面的法向量,用(nx,ny,nz)表示,QP与N平行;d是原点到平面的距离,P0(x0,y0,z0)是平面上一点。
可以用下面的等式表示平面的集合:d=-n
xx
0-n
yy
0-n
zz
0,d为坐标系原点到后视镜平面的距离,n
x、n
y和n
z均为距离坐标的参数。参见图4所示的另一种镜面反射的示意图,Q’为点Q透过镜面得到虚像点。要求出Q’的坐标,只需要求出Q点到平面的距离D就可以了。联合下列公式求得距离D:
如图4所示,
为Q点到P点组成的向量的模,
为Q点到P0点组成的向量的模。由三角函数知;
为平面法向量,由向量点乘的几何意义知:
然后推导出最后等式
假设向量n为单位向量,则有:
那么Q’点坐标为Q点沿着QP方向移动2d距离:
因d=-n
xx
0-n
yy
0-n
zz
0,那么可以求解:
通过下述算式调整图像引擎:V1=V2*R。其中,V1为调整后的旋转矩阵,V2为调整前的旋转矩阵。也就是说,将调整前的旋转矩阵V2与反射矩阵R相乘,就得到了调整后的旋转矩阵V1。
除此以外,还可以调整图像引擎中的投影矩阵,根据参数得到合适畸变效果。调整后的投影矩阵为
其中,FOV(Filed of View,视角广度)是指虚拟相机的视角广度,HalfFOV就是虚拟相机的视角广度的一半。OffsetX是指横轴偏移,OffsetY是指纵轴偏移。NearPlane是指虚拟相机视锥体的近裁剪面。
步骤S208,获取虚拟相机采集的图像数据;其中,虚拟相机的视角与后视镜的视角相同。
在获取虚拟相机采集的图像数据的步骤之前,需要调整虚拟相机的位置,通过下述步骤执行:基于后视镜的视角信息向虚拟相机发送角度调整指令,以使虚拟相机的视角与后视镜的视角相同。
角度调整指令用于调节虚拟相机的视角,虚拟相机接收角度调整指令之后,就会根据角度调整指令相应地调整自身视角,以使虚拟相机的视角与后视镜的视角相同。
步骤S210,基于调整后的图像引擎处理图像数据,得到处理后的图像数据。
图像引擎得到处理后的图像数据之后,可以将处理后的图像数据发送至显示设备,以使显示设备显示处理后的图像数据。
显示设备是指具显示功能的设备,可以为手机、电脑、显示屏、投影仪等具有显示功能的设备。其中,显示屏可以为LCD(Liquid Crystal Display,液晶)显示屏。显示设备与图像引擎通信连接,可以接受图像引擎发送的处理后的图像数据。
本发明实施例提供的上述方法,提供了一种根据不同角度来得到正确反射关系和正确透视关系的矩阵算法,与其他虚拟驾驶方案中奖后视镜画面直接显示在大画面上相比,本实施例提供的方法更真实也更具沉浸感,并且可根据硬件给数据实时调整画面以对应不同角度。
本发明实施例提供的上述方法,可以用小尺寸显示模块,替代传统后视镜。通过本发明实施例提供的方法可以完全做到1:1还原,并且可以在车辆通过电控按钮调整后视镜的同时,显示模块中的画面内容也实时变化,并通过驾驶员位置与后视镜的角度和距离,计算出合适的画面以及适当的画面畸变,来达到替代传统光学后视镜的目的,提升模拟驾驶的体验以及准确性。
实施例3
对应于上述方法实施例,本发明实施例提供了一种图像数据处理装置,如图5所示的一种图像数据处理装置的结构示意图,该图像数据处理装置包括:
夹角确定模块51,用于确定驾驶员的视线与后视镜平面的夹角;
图像引擎调整模块52,用于基于夹角调整图像引擎;
图像数据获取模块53,用于获取虚拟相机采集的图像数据;其中,虚拟相机的视角与后视镜的视角相同;
图像数据处理模块54,用于基于调整后的图像引擎处理图像数据,得到处理后的图像数据。
本发明实施例提供的一种图像数据处理装置,根据驾驶员的视线与后视镜平面的夹角调整图像引擎,并采用调整后的图像引擎处理图像数据,得到处理后的图像数据。处理后的图像数据具有更高的准确性,可以提升模拟驾驶的体验度。
在一些实施例中,夹角确定模块,用于:获取驾驶员的位置信息和后视镜的视角信息;基于位置信息和视角信息确定驾驶员的视线与后视镜平面的夹角。
在一些实施例中,装置还包括角度调整指令发送模块,用于基于后视镜的视角信息向虚拟相机发送角度调整指令,以使虚拟相机的视角与后视镜的视角相同。
在一些实施例中,图像引擎包括旋转矩阵;图像引擎调整模块,用于基于夹角确定目标的实像位置;其中目标为驾驶员从后视镜观察到的目标;基于实像位置和后视镜平面确定法线坐标;基于法线坐标确定反射矩阵;基于反射矩阵调整旋转矩阵。
在一些实施例中,图像引擎调整模块,用于通过下述算式确定反射矩阵:
其中,R为反射矩阵,坐标系原点到后视镜平面的距离d=-n
xx
0-n
yy
0-n
zz
0;n
x、n
y和n
z均为距离坐标的参数。
在一些实施例中,装置还包括图像数据发送模块,用于将处理后的图像数据发送至显示设备,以使显示设备显示处理后的图像数据。
本发明实施例提供的图像数据处理装置,与上述实施例提供的图像数据处理方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
实施例4
本发明实施例还提供了一种电子设备,用于运行上述图像数据处理方法;参见图6所示的一种电子设备的结构示意图,该电子设备包括存储器100和处理器101,其中,存储器100用于存储一条或多条计算机指令,一条或多条计算机指令被处理器101执行,以实现上述图像数据处理方法。
进一步地,图6所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述图像数据处理方法,具体实现可参见方法实施例,在此不再赘述。
本发明实施例所提供的图像数据处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和/或电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。