图像转换方法、终端及存储介质与流程

专利2022-06-29  48


本发明涉及汽车自动驾驶和辅助驾驶技术领域,特别涉及一种图像转换方法、终端及存储介质。



背景技术:

目前,在汽车自动驾驶和辅助驾驶领域,基于摄像头的定位方法主要是通过摄像头拍摄原图像并通过图像转换得到鸟瞰图像,根据原图像和鸟瞰图像对汽车进行定位分析,这种定位方法实时性要求高,然而现在图像转换都是直接采用预设公式对图像进行转换,因为图像涉及的像素点较多,在进行图像转换时需要通过大量的公式运算,所以通过图像直接转换进行定位的方法速度较慢,不能满足实时性的要求。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的是提供一种图像转换方法、终端及存储介质,旨在解决在汽车自动驾驶和辅助驾驶系统中图像转换速度慢,实时性低的问题。

为实现上述目的,本发明提出的图像转换方法包括以下步骤:

对摄像头进行标定,获得透视变换矩阵;

根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;

通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。

可选地,所述根据透视变换矩阵、通过摄像头采集的第一图像中像素点的坐标以及预设的分辨率,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系的步骤包括:

根据透视变换矩阵和所述第一图像中像素点的坐标,获得第一图像中像素点的坐标对应的世界坐标;

根据第一图像中像素点的坐标对应的世界坐标和预设分辨率,获得第一鸟瞰图像中像素点的坐标;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

可选地,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表的步骤包括:

根据第一鸟瞰图像中像素点的坐标和像素点总数,建立第一初始坐标转换表,其中第一初始坐标转换表中各单元格的位置与第一鸟瞰图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第一初始坐标转换表作为第一坐标转换表。

可选地,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值的步骤包括:

根据预设的移位算法,将第一图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为a=((u&0xffff)<<16)|(v&0xffff),(u,v)为第一图像中像素点的坐标,a为第一图像中像素点的坐标(u,v)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像的像素点的坐标间的对应关系,将第一图像中的像素点的坐标对应的十六进制值作为第一初始坐标转换表中对应单元格的数值。

可选地,所述通过摄像头实时采集第二图像,根据第二图像和建立的第一坐标转换表,获得第二图像对应的第二鸟瞰图像的步骤包括:

从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标;

根据获得的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标和第二图像中像素点对应的像素值,获得第二鸟瞰图像中像素点对应的像素值;

根据第二鸟瞰图像中各像素点的坐标和对应的像素值,获得第二鸟瞰图像。

可选地,所述根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系的步骤之后还包括:

根据第一鸟瞰图像中像素点的坐标和第一图像中像素点的坐标,建立第二转换数值表格;

获取第三鸟瞰图像;

从第一坐标转换表中查询获得第三鸟瞰图像的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标;

根据获得的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标和第三鸟瞰图像中像素点对应的像素值,获得原始图像中像素点对应的像素值;

根据原始图像中像素点的坐标和对应的像素值,获得原始图像。

可选地,所述根据第一鸟瞰图像中各像素点的坐标和第一图像中各像素点的坐标,建立第二转换数值表格的步骤包括:

根据第一图像中像素点的坐标和像素点总数,建立第二初始坐标转换表,其中第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第二初始坐标转换表作为第二坐标转换表。

可选地,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值的步骤包括:

根据预设的移位算法,将第一鸟瞰图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为b=((w&0xffff)<<16)|(h&0xffff),(w,h)为第一图像中像素点的坐标,b为第一鸟瞰图像中像素点的坐标(w,h)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像的像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标对应的十六进制值作为第二初始坐标转换表中对应单元格的数值。

为实现上述目的,本发明还提出一种终端,包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的图像转换方法的步骤。

为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像转换方法的步骤。

本图像转换方法中,通过对摄像头进行标定,获得透视变换矩阵;根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像,实现了原始图像转换为鸟瞰图时可以通过查表的方法实现快速转换,有效地减少了图像相互转换时的时间消耗,使自动驾驶和辅助驾驶系统的性能大幅提升。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。

图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;

图2为本发明图像转换方法第一实施例的流程示意图;

图3为本发明图像转换方法第一实施例中步骤s200的细化流程示意图;

图4为本发明图像转换方法第一实施例中步骤s300的细化流程示意图;

图5为本发明图像转换方法第一实施例中步骤s400的细化的流程示意图;

图6为本发明图像转换方法第二实施例的流程示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种图像转换方法、终端及存储介质。

如图1所示,本发明方法适用于终端,所述终端可以是汽车。该终端可以包括:处理器1001,例如cpu,通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括触感板、触摸屏、键盘,可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是告诉ram存储器,也可以是稳定的存储器(non-volatitlememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。所述终端还包括摄像头,所述摄像头用于实时采集预设场景区域的图像。

可选地,终端还可以包括rf(radiofrequency,射频)电路,音频电路、wifi模块等等。当然,终端还可配置陀螺仪、气压计、湿度计、温度计等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。

在图1所示的终端中,处理器1001可以用于调用存储器1005中存储的图像转换程序,并执行以下操作:

对摄像头进行标定,获得透视变换矩阵;

根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;

通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据透视变换矩阵和所述第一图像中像素点的坐标,获得第一图像中像素点的坐标对应的世界坐标;

根据第一图像中像素点的坐标对应的世界坐标和预设分辨率,获得第一鸟瞰图像中像素点的坐标;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据第一鸟瞰图像中像素点的坐标和像素点总数,建立第一初始坐标转换表,其中第一初始坐标转换表中各单元格的位置与第一鸟瞰图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第一初始坐标转换表作为第一坐标转换表。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据预设的移位算法,将第一图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为a=((u&0xffff)<<16)|(v&0xffff),(u,v)为第一图像中像素点的坐标,a为第一图像中像素点的坐标(u,v)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像的像素点的坐标间的对应关系,将第一图像中的像素点的坐标对应的十六进制值作为第一初始坐标转换表中对应单元格的数值。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标;

根据获得的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标和第二图像中像素点对应的像素值,获得第二鸟瞰图像中像素点对应的像素值;

根据第二鸟瞰图像中各像素点的坐标和对应的像素值,获得第二鸟瞰图像。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据第一鸟瞰图像中像素点的坐标和第一图像中像素点的坐标,建立第二转换数值表格;

获取第三鸟瞰图像;

从第一坐标转换表中查询获得第三鸟瞰图像的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标;

根据获得的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标和第三鸟瞰图像中像素点对应的像素值,获得原始图像中像素点对应的像素值;

根据原始图像中像素点的坐标和对应的像素值,获得原始图像。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据第一图像中像素点的坐标和像素点总数,建立第二初始坐标转换表,其中第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第二初始坐标转换表作为第二坐标转换表。

进一步地,处理器1001可以调用存储器1005中存储的计算机程序,还执行以下操作:

根据预设的移位算法,将第一鸟瞰图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为b=((w&0xffff)<<16)|(h&0xffff),(w,h)为第一图像中像素点的坐标,b为第一鸟瞰图像中像素点的坐标(w,h)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像的像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标对应的十六进制值作为第二初始坐标转换表中对应单元格的数值。

基于上述硬件结构,提出本申请中的图像转换方法的各个实施例。

参照图2,本发明第一实施例提供一种图像转换方法,所述图像转换方法包括:

步骤s100,对摄像头进行标定,获得透视变换矩阵;

在本实施例中,在本方案中,车辆上至少安装了一台设置在车辆前方的摄像头,当然车辆上还可以在其他安装位置安装摄像头,其摄像像头数量及安装位置也可以改变。例如在车辆前后左右架设四台广角摄像机,包括前摄像头、后摄像头、左摄像头和右摄像头,保证摄像机能覆盖车辆周围所有视场区域。例如前摄像头,安装于车辆排气扇上方且位于车辆宽度中心位置,前摄像头的拍摄角度为斜向下向车身外场景;右摄像头,安装于右后视镜的下方,右摄像头的拍摄角度为斜向下向车身外;左摄像头,安装于左后视镜的下方,左摄像头的拍摄角度为斜向下向车身外;后摄像头,安装于车牌上方且位于车辆宽度的中心位置,后摄像头的拍摄角度为斜向下向车身外场景。所采用的摄像头均为视野大于180°的广角摄像头,可以确保摄像头采集到的场景能够有效覆盖车身周围360°的视场区域,为后续的全景拼接提供了保障。当然,在其他实施方式中摄像头数量及安装位置也可以改变,只要满足摄像头覆盖车身周围360°的视场区域即可。

在通过摄像头采集第一图像之前,先对所述摄像头进行标定,获得透视变换矩阵。

步骤s200,根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;

通过对摄像头进行标定后获得的透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

需要说明的是,在所述根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系的步骤之前,由于摄像头的采集范围比较宽和比较远,而通过摄像头采集的第一原始图像中需要转换为鸟瞰的范围宽度有限,例如摄像头采集的道路图像,其中第一原始图像中有一部区域是不属于道路的,而是属于道路两旁的区域,这些区域对道路场景的识别并没有提供有用的信息,并且第一原始图像中还有些区域反映的是距车辆比较远的地方,其像素模糊,提供的有用信息也比较少,故终端在通过摄像头采集到第一原始图像后,可以先根据预设的坐标范围对获取的第一原始图像进行裁剪,将裁剪后的的图像作为摄像头采集的第一图像,例如获取的图像为640*480,以图像的左上角为原点,预设的坐标范围包括横坐标范围和纵坐标范围,横坐标范围为80-560,纵坐标范围为320-640,根据预设坐标范围对获取的图像进行裁剪,会将处于这些预设坐标范围内的图像保存下来。

具体地的,请参照图3,图3为本申请实施例中步骤s200的流程细化示意图,基于上述实施例,所述步骤s200具体包括:

步骤s210,根据透视变换矩阵和所述第一图像中像素点的坐标,获得第一图像中像素点的坐标对应的世界坐标;

步骤s220,根据第一图像中像素点的坐标对应的世界坐标和预设分辨率,获得第一鸟瞰图像中像素点的坐标;

步骤s230,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

首先,将所述第一图像中的各像素点的坐标经过获得的透视变换矩阵的转换,获得的第一图像中各像素点的坐标对应的世界坐标,例如获得的透视变换公式为:

其中,所述第一图像的像素点的坐标为(u,v),第一图像的像素点的坐标为(u,v)对应的世界坐标为(i,j)。

在获得第一图像中各像素点的坐标对应的世界坐标后,根据第一图像中像素点的坐标对应的世界坐标和预设分辨率,转换为第一鸟瞰图像中各像素点的坐标,例如预设分辨率包括水平分辨率和垂直分辨率,水平分辨率和垂直分辨率分别为50和200,获得的第一图像中某像素点的坐标(330,280)对应的世界坐标为(5000,6000),则将世界坐标中的水平方向坐标值和垂直方向坐标值分别除以水平分辨率和垂直分辨率,从而获得第一图像中像素点的坐标(330,280)对应的第一图像的第一鸟瞰图像中某像素点的坐标为(100,30)。

由于第一鸟瞰图像中各像素点的坐标都是由第一图像中的像素点坐标经过透视变换矩阵和预设分辨率的转换而得到的,即第一鸟瞰图像中各像素点的坐标都分别对应于第一图像中唯一一个像素点的坐标,故根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

需要说明的是,第一鸟瞰图像中可以存在多个像素点的坐标对应于第一图像中的某一个相同的像素点的坐标。

步骤s300,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;

终端获取第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系后,将根据该关系,建立第一坐标转换表,该第一坐标转换表用于根据待生成的鸟瞰图像中的像素点的坐标可以快速查询到其对应于待生成鸟瞰图像的原始图像中的像素点的坐标。

具体地的,请参照图4,图4为本申请实施例中步骤s300的流程细化示意图,基于上述实施例,所述步骤s300具体包括:

步骤s310,根据第一鸟瞰图像中像素点的坐标和像素点总数,建立第一初始坐标转换表,其中第一初始坐标转换表中各单元格的位置与第一鸟瞰图像中像素点的坐标一一对应;

步骤s320,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值;

步骤s330,将每个单元格均具有对应数值的第一初始坐标转换表作为第一坐标转换表。

终端首先根据第一鸟瞰图像中像素点的坐标和像素点总数,会构建一个第一初始坐标转换表,该第一初始坐标转换表单元格的总数量与第一鸟瞰图像的像素点总数相同,第一初始坐标转换表每行的单元格总数量和第一鸟瞰图像中水平方向的像素点数量相同,第一初始坐标转换表每列的单元格总数量和第一鸟瞰图像中垂直方向的像素点数量相同,例如第一鸟瞰图像为128*100,像素点总数为12800,则第一初始坐标转换表的单元格总数量为12800,第一初始坐标转换表每行的单元格总数量为128,第一初始坐标转换表每列的单元格总数量为100。并且第一初始坐标转换表格单元格的位置,即所在的行列与第一鸟瞰图像中像素点的坐标一一对应,例如第一初始坐标转换表中第100行第30列的单元格对应第一鸟瞰图像中像素点的坐标为(100,30)。

由于终端建立的第一初始坐标转换表中每个单元格都还没有被赋值,终端建立第一初始坐标转换表后,会根据第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,确定第一初始坐标转换表中每个单元格对应的第一鸟瞰图像中像素点的坐标,然后再根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,确定第一初始坐标转换表中各单元格对应的第一图像中像素点的坐标,最后将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值,例如第一初始坐标转换表中第100行第30列的单元格对应于第一鸟瞰图像中像素点的坐标为(100,30),而第一鸟瞰图像中像素点的坐标(100,30)对应于第一图像中像素点的坐标为(330,280),故第一初始坐标转换表中第100行第30列的单元格对应于第一图像中像素点的坐标为(330,280),终端会将该像素点的坐标(330,280)作为第一初始坐标转换表中第100行第30列的单元格中的数值。

在终端为第一初始坐标转换表中每个单元格斗赋予了数值后,将每个单元格均具有对应数值的第一初始坐标转换表作为第一坐标转换表,即第一坐标转换表建立完成。

步骤s400,通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。

在终端建立第一坐标转换表后,在后续终端通过摄像头实时采集到第二图像后,会根据第一坐标转换表查询到第二图像的第二鸟瞰图像中各像素点对应的第二图像中的像素点的坐标,然后根据查询到的对应的第二图像中的像素点的坐标,获取第二图像中该坐标对应的像素点的像素值,并作为第二鸟瞰图像中对应的像素点的像素值,最终第二鸟瞰图像中各像素点都被赋予一定的像素值,从而最终获得第二图像的第二鸟瞰图像。

具体地的,请参照图5,图5为本申请实施例中步骤s400的流程细化示意图,基于上述实施例,所述步骤s400具体包括:

步骤s410,从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标;

步骤s420,根据获得的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标和第二图像中像素点对应的像素值,获得第二鸟瞰图像中像素点对应的像素值;

步骤s430,根据第二鸟瞰图像中各像素点的坐标和对应的像素值,获得第二鸟瞰图像。

终端会从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中每个像素点坐标对应的第二图像中像素点的坐标,然后根据获得的第二鸟瞰图像每个像素点的坐标对应的第二图像中像素点的坐标,获取第二图像中该坐标对应的像素点的像素值,并将该像素作为第二鸟瞰图像中对应的像素点的像素值,最终获得第二鸟瞰图像中每个像素点对应的像素值;终端根据第二鸟瞰图像中每个像素点的坐标和获得每个像素点对应的像素值,拼成了第二图像的第二鸟瞰图像。例如第二鸟瞰图像中像素点的坐标(100,30)对应于第一坐标转换表中第100行第30列的单元格,然后查询第一坐标转换表第100行第30列的单元格的数值为(330,280),该数值代表第二图像中像素点的坐标为(330,280),故第二鸟瞰图像中像素点的坐标(100,30)对应于第二图像中像素点的坐标为(330,280),终端然后将第二图像中坐标为(330,280)的像素点的像素值作为第二鸟瞰图像中坐标(100,30)为像素点的像素值。

本实施例中,通过对摄像头进行标定,获得透视变换矩阵;根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。实现了原始图像转换为鸟瞰图时可以通过查表的方法实现快速转换,有效地减少了图像相互转换时的时间消耗,使自动驾驶和辅助驾驶系统的性能大幅提升。

进一步地,基于第一实施例提出第二实施例,参照图6,图6为步骤s320的细化流程示意图,在本实施例中,所述步骤s320包括:

步骤s321,根据预设的移位算法,将第一图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为a=((u&0xffff)<<16)|(v&0xffff),(u,v)为第一图像中像素点的坐标,a为第一图像中像素点的坐标(u,v)对应的十六进制值;

步骤s322,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像的像素点的坐标间的对应关系,将第一图像中的像素点的坐标对应的十六进制值作为第一初始坐标转换表中对应单元格的数值。

由于第一坐标转换表中每个单元格直接存储第一图像中像素点的坐标,坐标是由两个数值表示的,其存储量较大,特别是第一图像的第一鸟瞰图像的像素点总数越多,第一坐标转换表的单元格总数越多,那么其存储量更巨大。为了减少第一初始坐标转换表的存储量,本实例将待存储的第一图像中像素点的坐标转换为一个数值,然后将该数字作为对应单元格的数值,从而减少了其存储量。具体过程为:根据预设的位移算法a=((u&0xffff)<<16)|(v&0xffff),将第一图像中的像素点的坐标转换为对应的十六进制值,其中(u,v)为第一图像中像素点的坐标,a为第一图像中像素点的坐标(u,v)对应的十六进制值。例如第一图像中某一像素点的坐标为(330,280),那么将该坐标通过位移算法a=((330&0xffff)<<16|(280&0xffff))=0x014a0118,将该坐标转换为十六进制值0x014a0118。

终端根据第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,确定第一初始坐标转换表中每个单元格对应的第一鸟瞰图像中像素点的坐标,然后再根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,确定第一初始坐标转换表中各单元格对应的第一图像中像素点的坐标,最后将第一图像中像素点的坐标对应的十六进制值作为第一初始坐标转换表中对应单元格的数值,例如第一初始坐标转换表中第100行第30列的单元格对应于第一鸟瞰图像中像素点的坐标为(100,30),而第一鸟瞰图像中像素点的坐标(100,30)对应于第一图像中像素点的坐标为(330,280),故第一初始坐标转换表中第100行第30列的单元格对应于第一图像中像素点的坐标为(330,280),终端会将该像素点的坐标(330,280)对应的十六进制值0x014a0118作为第一初始坐标转换表中第100行第30列的单元格中的数值。

需要说明的是,若第一坐标转换表中各单元格的数值为第一图像中对应的像素点的坐标的十六进制值,则后续从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标的过程包括:从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的十六进制值,然后根据预设的移位逆运算,将所述十六进制值转换为第二图像中的像素点的坐标,所述移位逆运算u=(a>>16)&0xffff,v=a&0xffff,其中a为第一坐标转换表中单元格的数值,(u,v)为第二图像中像素点的坐标。例如第二图像的第二鸟瞰图像中像素点的坐标(100,30)对应的十六进制值为0x014a0118,根据移位逆运算u=(0x014a0118>>16)&0xffff=0x014a=330,v=0x014a0118&0xffff=0x0118=280,最终获得第二鸟瞰图像像素点坐标(100,30)对应于第二图像中像素点的坐标为(330,280)。

进一步地,基于第二实施例提出第三实施例,在本实施例中,所述步骤s200之后还包括:

步骤s500,根据第一鸟瞰图像中像素点的坐标和第一图像中像素点的坐标,建立第二转换数值表格;

终端获取第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系后,将根据该关系,建立第二坐标转换表,该第二坐标转换表用于根据待转换的原始图像中的像素点的坐标可以快速查询到其对应于待转换的原始图像对应的鸟瞰图像中的像素点的坐标。

具体地的,基于上述实施例,所述步骤s500具体包括:

步骤s510,根据第一图像中像素点的坐标和像素点总数,建立第二初始坐标转换表,其中第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标一一对应;

终端首先根据第一图像中像素点的坐标和像素点总数,会构建一个第二初始坐标转换表,该第二初始坐标转换表单元格的总数量与第一图像的像素点总数相同,第二初始坐标转换表每行的单元格总数量和第一图像中水平方向的像素点数量相同,第二初始坐标转换表每列的单元格总数量和第一图像中垂直方向的像素点数量相同,例如第一图像为640*480,像素点总数为307200,则第二初始坐标转换表的单元格总数量为307200,第二初始坐标转换表每行的单元格总数量为640,第二初始坐标转换表每列的单元格总数量为480。并且第二初始坐标转换表格单元格的位置,即所在的行列与第一图像中像素点的坐标一一对应,例如第二初始坐标转换表中第330行第280列的单元格对应第一图像中像素点的坐标为(330,280)。

步骤s520,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值;

由于终端建立的第二初始坐标转换表中每个单元格都还没有被赋值,终端建立第二初始坐标转换表后,会根据第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,确定第二初始坐标转换表中每个单元格对应的第一图像中像素点的坐标,然后再根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,确定第二初始坐标转换表中各单元格对应的第一鸟瞰图像中像素点的坐标,最后将第一鸟瞰图像中像素点的坐标作为第二初始坐标转换表中对应单元格的数值,例如第二初始坐标转换表中第330行第280列的单元格对应于第一图像中像素点的坐标为(330,280),而第一鸟瞰图像中像素点的坐标(100,30)对应于第一图像中像素点的坐标为(330,280),故第二初始坐标转换表中第330行第280列的单元格对应于第一鸟瞰图像中像素点的坐标为(100,30),终端会将该像素点的坐标(100,30)作为第二初始坐标转换表中第330行第280列的单元格中的数值。

具体地的,基于上述实施例,所述步骤s520具体包括:

步骤s521,根据预设的移位算法,将第一鸟瞰图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为b=((w&0xffff)<<16)|(h&0xffff),(w,h)为第一图像中像素点的坐标,b为第一鸟瞰图像中像素点的坐标(w,h)对应的十六进制值;

步骤s522,根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像的像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标对应的十六进制值作为第二初始坐标转换表中对应单元格的数值。

由于第二坐标转换表中每个单元格直接存储第一鸟瞰图像中像素点的坐标,坐标是由两个数值表示的,其存储量较大,特别是第一图像的像素点总数越多,第二坐标转换表的单元格总数越多,那么其存储量更巨大。为了减少第二初始坐标转换表的存储量,本实例将待存储的第一图像的第一鸟瞰图像中像素点的坐标转换为一个数值,然后将该数字作为对应单元格的数值,从而减少了其存储量。具体过程为:根据预设的位移算法b=((w&0xffff)<<16)|(h&0xffff),将第一鸟瞰图像中的像素点的坐标转换为对应的十六进制值,其中(w,h)为第一图像中像素点的坐标,b为第一鸟瞰图像中像素点的坐标(w,h)对应的十六进制值。例如第一鸟瞰图像中某一像素点的坐标为(100,30),那么将该坐标通过位移算法b=((100&0xffff)<<16|(30&0xffff))=0x00e4001e,将该坐标转换为十六进制值0x00e4001e。

终端根据第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,确定第二初始坐标转换表中每个单元格对应的第一图像中像素点的坐标,然后再根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,确定第二初始坐标转换表中各单元格对应的第一鸟瞰图像中像素点的坐标,最后将第一鸟瞰图像中像素点的坐标对应的十六进制值作为第二初始坐标转换表中对应单元格的数值,例如第二初始坐标转换表中第330行第280列的单元格对应于第一图像中像素点的坐标为(330,280),而第一鸟瞰图像中像素点的坐标(100,30)对应于第一图像中像素点的坐标为(330,280),故第二初始坐标转换表中第330行第280列的单元格对应于第一鸟瞰图像中像素点的坐标为(100,30),终端会将该像素点的坐标(100,30)对应的十六进制值0x00e4001e作为第二初始坐标转换表中第330行第100列的单元格中的数值。

步骤s530,将每个单元格均具有对应数值的第二初始坐标转换表作为第二坐标转换表。

在终端为第二初始坐标转换表中每个单元格斗赋予了数值后,将每个单元格均具有对应数值的第二初始坐标转换表作为第二坐标转换表,即第二坐标转换表建立完成。

步骤s600,获取第三鸟瞰图像;

步骤s700,从第一坐标转换表中查询获得第三鸟瞰图像的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标;

步骤s800,根据获得的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标和第三鸟瞰图像中像素点对应的像素值,获得原始图像中像素点对应的像素值;

步骤s900,根据原始图像中像素点的坐标和对应的像素值,获得原始图像。

在终端建立第二坐标转换表后,在后续终端获得第三鸟瞰图像后,需要将第三鸟瞰图像转换为对应的原始图像,终端会根据第二坐标转换表查询到第三鸟瞰图像的原始图像中各像素点对应的第三鸟瞰图像中的像素点的坐标,然后根据查询到的对应的第三鸟瞰图像中的像素点的坐标,获取第三鸟瞰图像中该坐标对应的像素点的像素值,并作为第三鸟瞰图像的原始图像中对应的像素点的像素值,最终第三鸟瞰图像的原始图像中各像素点都被赋予一定的像素值,从而最终获得第三鸟瞰图像的原始图像。

具体地的,终端会从第二坐标转换表中查询获得第三鸟瞰图像的原始图像中每个像素点坐标对应的第三鸟瞰图像中像素点的坐标,然后根据获得的第三鸟瞰图像的原始图像中每个像素点的坐标对应的第三鸟瞰图像中像素点的坐标,获取第三鸟瞰图像中该坐标对应的像素点的像素值,并将该像素值作为第三鸟瞰图像的原始图像中对应的像素点的像素值,最终获得第三鸟瞰图像的原始图像中每个像素点对应的像素值;终端根据第三鸟瞰图像的原始图像中每个像素点的坐标和获得每个像素点对应的像素值,拼成了第三鸟瞰图像的原始图像。例如第三鸟瞰图像的原始图像中像素点的坐标(330,280)对应于第二坐标转换表中第330行第280列的单元格,然后查询第二坐标转换表第330行第280列的单元格的数值为(100,30),该数值代表第三鸟瞰图像中像素点的坐标为(100,30),故第三鸟瞰图像的原始图像中像素点的坐标(330,280)对应于第三鸟瞰图像中像素点的坐标为(100,30),终端然后将第三鸟瞰图像中坐标为(100,30)的像素点的像素值作为第三鸟瞰图像的原始图像中坐标(330,280)为像素点的像素值。

本实施例中,通过对摄像头进行标定,获得透视变换矩阵;根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第二坐标转换表;通过第二坐标转换表,将获得第三鸟瞰图像转换为原始图像。实现了鸟瞰图转换原始图像时直接通过查表的方法实现快速转换,有效地减少了图像相互转换时的时间消耗,使自动驾驶和辅助驾驶系统的性能大幅提升。

此外,本发明还提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的图像转换方法的步骤。

本发明存储介质的具体实施例与上述图像转换方法各实施例基本相同,在此不作赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。


技术特征:

1.一种图像转换方法,其特征在于,包括步骤:

对摄像头进行标定,获得透视变换矩阵;

根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;

通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。

2.如权利要求1所述的图像转换方法,其特征在于,所述根据透视变换矩阵、通过摄像头采集的第一图像中像素点的坐标以及预设的分辨率,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系的步骤包括:

根据透视变换矩阵和所述第一图像中像素点的坐标,获得第一图像中像素点的坐标对应的世界坐标;

根据第一图像中像素点的坐标对应的世界坐标和预设分辨率,获得第一鸟瞰图像中像素点的坐标;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系。

3.如权利要求2所述的图像转换方法,其特征在于,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表的步骤包括:

根据第一鸟瞰图像中像素点的坐标和像素点总数,建立第一初始坐标转换表,其中第一初始坐标转换表中各单元格的位置与第一鸟瞰图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第一初始坐标转换表作为第一坐标转换表。

4.如权利要求3所述的图像转换方法,其特征在于,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像中像素点的坐标间的对应关系,将第一图像中像素点的坐标作为第一初始坐标转换表中对应单元格的数值的步骤包括:

根据预设的移位算法,将第一图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为a=((u&0xffff)<<16)|(v&0xffff),(u,v)为第一图像中像素点的坐标,a为第一图像中像素点的坐标(u,v)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第一初始坐标转换表中各单元格位置与第一鸟瞰图像的像素点的坐标间的对应关系,将第一图像中的像素点的坐标对应的十六进制值作为第一初始坐标转换表中对应单元格的数值。

5.如权利要求1-4中任一项所述的图像转换方法,其特征在于,所述通过摄像头实时采集第二图像,根据第二图像和建立的第一坐标转换表,获得第二图像对应的第二鸟瞰图像的步骤包括:

从第一坐标转换表中查询获得第二图像的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标;

根据获得的第二鸟瞰图像中像素点的坐标对应的第二图像中像素点的坐标和第二图像中像素点对应的像素值,获得第二鸟瞰图像中像素点对应的像素值;

根据第二鸟瞰图像中各像素点的坐标和对应的像素值,获得第二鸟瞰图像。

6.如权利要求5所述的图像转换方法,其特征在于,所述根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系的步骤之后还包括:

根据第一鸟瞰图像中像素点的坐标和第一图像中像素点的坐标,建立第二转换数值表格;

获取第三鸟瞰图像;

从第一坐标转换表中查询获得第三鸟瞰图像的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标;

根据获得的原始图像中像素点的坐标对应的第三鸟瞰图像中像素点的坐标和第三鸟瞰图像中像素点对应的像素值,获得原始图像中像素点对应的像素值;

根据原始图像中像素点的坐标和对应的像素值,获得原始图像。

7.如权利要求6所述的图像转换方法,其特征在于,所述根据第一鸟瞰图像中各像素点的坐标和第一图像中各像素点的坐标,建立第二转换数值表格的步骤包括:

根据第一图像中像素点的坐标和像素点总数,建立第二初始坐标转换表,其中第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标一一对应;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值;

将每个单元格均具有对应数值的第二初始坐标转换表作为第二坐标转换表。

8.如权利要求7所述,其特征在于,所述根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像中像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标作为第二初始坐标转换表中对应单元格的数值的步骤包括:

根据预设的移位算法,将第一鸟瞰图像中的像素点的坐标转换为对应的十六进制值,其中预设的移位算法为b=((w&0xffff)<<16)|(h&0xffff),(w,h)为第一图像中像素点的坐标,b为第一鸟瞰图像中像素点的坐标(w,h)对应的十六进制值;

根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系以及第二初始坐标转换表中各单元格位置与第一图像的像素点的坐标间的对应关系,将第一鸟瞰图像中的像素点的坐标对应的十六进制值作为第二初始坐标转换表中对应单元格的数值。

9.一种终端,其特征在于,包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至8中任一项所述的图像转换方法的步骤。

10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述的图像转换方法的步骤。

技术总结
本发明公开一种图像转换方法、终端及存储介质,其中,图像转换方法包括以下步骤:对摄像头进行标定,获得透视变换矩阵;根据透视变换矩阵、预设的分辨率以及通过摄像头采集的第一图像中像素点的坐标,获得第一图像的第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系;根据第一鸟瞰图像中像素点的坐标与第一图像中像素点的坐标间的对应关系,建立第一坐标转换表;通过摄像头实时采集第二图像,根据第二图像和第一坐标转换表,获得第二图像的第二鸟瞰图像。实现了通过查表法进行图像转换,节省了图像转换时间,满足了实时性的要求。

技术研发人员:罗年
受保护的技术使用者:深圳市中天安驰有限责任公司
技术研发日:2020.01.15
技术公布日:2020.06.05

转载请注明原文地址: https://bbs.8miu.com/read-49619.html

最新回复(0)