CN116777755A - 一种畸变矫正方法、装置、车载设备及车辆 - Google Patents
一种畸变矫正方法、装置、车载设备及车辆 Download PDFInfo
- Publication number
- CN116777755A CN116777755A CN202210239594.6A CN202210239594A CN116777755A CN 116777755 A CN116777755 A CN 116777755A CN 202210239594 A CN202210239594 A CN 202210239594A CN 116777755 A CN116777755 A CN 116777755A
- Authority
- CN
- China
- Prior art keywords
- image
- pixel
- camera
- angle
- processed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012937 correction Methods 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000009877 rendering Methods 0.000 claims abstract description 24
- 238000004590 computer program Methods 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 17
- 238000003384 imaging method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 17
- 230000003287 optical effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 5
- 241000226585 Antennaria plantaginifolia Species 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- DMSMPAJRVJJAGA-UHFFFAOYSA-N benzo[d]isothiazol-3-one Chemical compound C1=CC=C2C(=O)NSC2=C1 DMSMPAJRVJJAGA-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
Landscapes
- Closed-Circuit Television Systems (AREA)
- Image Processing (AREA)
Abstract
本公开涉及一种畸变矫正方法、装置、车载设备及车辆,尤其涉及计算机视觉技术领域。包括:获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角;在相机坐标系中,从多个坐标点中确定目标坐标点;基于目标坐标点,从待处理图像中确定与目标坐标点对应的像素值;根据目标坐标点、目标坐标点对应的像素值和投影参数,确定投影图像数据;基于投影图像数据进行渲染,以得到畸变矫正后的目标图像。本公开实施例用于解决现有畸变矫正效率低的问题。
Description
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种畸变矫正方法、装置、车载设备及车辆。
背景技术
为了消除视觉盲区,满足驾驶要求,车载后视系统配置视场范围较大的鱼眼摄像头,然而鱼眼摄像头拍摄的图片具有严重的畸变,不符合用户的视觉习惯。现有技术首先通过对鱼眼摄像头进行标定,估算出该鱼眼摄像头标定后的内部参数和外部参数;根据该标定后的内部参数和外部参数建立鱼眼摄像头的成像模型;然后通过该成像模型对图像进行矫正,得到满足人眼视觉效果的图像。但是鱼眼摄像头位置发生改变就要进行标定,标定鱼眼摄像头的工作量大,影响了畸变矫正的效率。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种畸变矫正方法、装置、车载设备及车辆,可以减少繁琐的标定过程,提升畸变矫正的效率。
为了实现上述目的,本公开实施例提供的技术方案如下:
第一方面,提供一种畸变矫正方法,包括:
获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角,其中,待处理图像是通过相机拍摄的图像;
在相机坐标系中,从多个坐标点中确定目标坐标点,目标坐标点为第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点;
基于目标坐标点,从待处理图像中确定与目标坐标点对应的像素值;
根据目标坐标点、目标坐标点对应的像素值和投影参数,确定投影图像数据,投影参数为相机与成像平面的投影参数;
基于投影图像数据进行渲染,以得到畸变矫正后的目标图像。
作为本公开实施例一种可选的实施方式,获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,包括:
根据相机的畸变表,确定在像素坐标系中,待处理图像每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,根据相机的畸变表,确定在像素坐标系中,待处理图像每个像素的第一水平视场角和第一竖直视场角,包括:
基于待处理图像每个像素的图像坐标以及图像坐标系和像素坐标系的转换关系,确定待处理图像每个像素的像素坐标;
根据畸变表以及待处理图像每个像素的像素坐标,确定每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,根据目标坐标点、目标坐标点对应的像素值和投影参数,确定投影图像数据之前,还包括:
获取投影参数;
其中
投影参数包括:相机的可视角范围、相机的投影比例和相机的投影距离。
作为本公开实施例一种可选的实施方式,待处理图像为待矫正视频中的任一帧图像,基于投影图像数据进行渲染,以得到畸变矫正后的目标图像帧之后,还包括:
保存相机的转动方向和相机的可视角范围;
根据相机的转动方向和相机的可视角范围,处理待矫正视频中待处理图像之后的其余帧图像。
作为本公开实施例一种可选的实施方式,方法应用于车辆,基于投影图像数据进行渲染,以得到畸变矫正后的目标图像之后,方法还包括:识别目标图像,以获取路况信息,路况信息包括以下至少一项:障碍物位置、障碍物大小、障碍物类型、坑洼位置、坑洼大小、坑洼深度;
基于路况信息,控制车辆行驶。
第二方面,提供一种畸变矫正装置,包括:
获取模块,用于获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角,其中,待处理图像是通过相机拍摄的图像;坐标确定模块,用于在相机坐标系中,从多个坐标点中确定目标坐标点,目标坐标点为第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点;
像素值确定模块,用于基于目标坐标点,从待处理图像中确定与目标坐标点对应的像素值;
投影模块,用于根据目标坐标点、目标坐标点对应的像素值和投影参数,确定投影图像数据,投影参数为相机与成像平面的投影参数;
渲染模块,用于基于投影图像数据进行渲染,以得到畸变矫正后的目标图像。
作为本公开实施例一种可选的实施方式,获取模块,具体用于:
根据相机的畸变表,确定在像素坐标系中,待处理图像每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,坐标确定模块,具体用于:基于待处理图像每个像素的图像坐标以及图像坐标系和像素坐标系的转换关系,确定待处理图像每个像素的像素坐标;
根据畸变表以及待处理图像每个像素的像素坐标,确定每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,投影模块,还用于:获取投影参数;其中投影参数包括:相机的可视角范围、相机的投影比例和相机的投影距离。
作为本公开实施例一种可选的实施方式,渲染模块,还用于:保存相机的转动方向和相机的可视角范围;
根据相机的转动方向和相机的可视角范围,处理待矫正视频中待处理图像之后的其余帧图像。
作为本公开实施例一种可选的实施方式,渲染模块,还用于:识别目标图像,以获取路况信息,路况信息包括以下至少一项:障碍物位置、障碍物大小、障碍物类型、坑洼位置、坑洼大小、坑洼深度;
基于路况信息,控制车辆行驶。
第三方面,提供一种车载设备,包括:处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的畸变矫正方法。
第四方面,提供一种车辆,包括:第二方面或其任意一种可选的实施方式的畸变矫正装置,或者如第三方面的车载设备。
第四方面,提供一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第一方面或其任意一种可选的实施方式的畸变矫正方法。
第五方面,提供一种计算机程序产品,其特征在于,包括:当计算机程序产品在计算机上运行时,使得计算机实现如第一方面或其任意一种可选的实施方式的畸变矫正方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的技术方案首先基于待处理图像每个像素在像素坐标系中的视场角,以及相机坐标系中虚拟半球面模型上多个坐标点的视场角,将多个坐标点中第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点确定为每个像素在相机坐标系中的目标坐标点,以确定待处理图像每个像素在虚拟半球面模型上对应的坐标点;然后确定该目标坐标点对应的像素值,实现将待处理图像映射到虚拟半球面模型上;进一步的,根据目标坐标点、目标坐标点的像素值和投影参数,得到投影图像数据;最后基于投影图像数据进行渲染,得到畸变矫正后的目标图像。通过将水平视场角和竖直视场角相同作为映射关系,将像素坐标系中每个像素映射至相机坐标系中,无需进行相机标定,从而避免了相机标定的繁琐工作,减少了工作量,提升了畸变校正的效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A为相机坐标系、图像坐标系、世界坐标系的关系示意图;
图1B为图像坐标系和像素坐标系的关系示意图;
图2A为现有技术中桶形畸变和枕形畸变的示意图;
图2B为现有技术中切向畸变产生的原理示意图;
图3为本公开实施例所述一种畸变矫正方法的实现场景示意图;
图4为本公开实施例所述一种畸变矫正方法的流程示意图;
图5为光学畸变原理图;
图6为投影参数的示意图;
图7为本公开实施例所述一种畸变矫正装置的结构图;
图8为本公开实施例所述一种车载设备的结构图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的关键术语进行介绍:
图1A为相机坐标系、图像坐标系、世界坐标系的关系示意图,如图1A所示。
相机坐标系,又称为光心坐标系:以相机的光心为坐标原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,相机的光轴为Z轴,用(Xc,Yc,Zc)表示其坐标值。
图像坐标系:以电荷耦合元件(Charge Coupled Device,CCD)图像平面的中心为坐标原点,X轴和Y轴分别平行于图像平面的两条垂直边,用(x,y)表示其坐标值。图像坐标系是用物理单位(例如毫米)表示像素在图像中的位置。
世界坐标系:是客观三维世界的绝对坐标系,也称客观坐标系。因为数码相机安放在三维空间中,需要世界坐标系这个基准坐标系来描述数码相机的位置,并且用它来描述安放在此三维环境中的其它任何物体的位置,用(Xw,Yw,Zw)表示其坐标值。
图1B为图像坐标系和像素坐标系的关系示意图,如图1B所示。像素坐标系:以CCD图像平面的左上角顶点为原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,用(u,v)表示其坐标值。
数码相机采集的图像首先是形成标准电信号的形式,然后再通过模数转换变换为数字图像。每幅图像的存储形式是M×N的数组,M行N列的图像中的每一个元素的数值代表的是图像点的灰度。这样的每个元素叫像素,像素坐标系就是以像素为单位的图像坐标系。
畸变产生的原因:畸变属于成像的几何失真,它是由于焦平面上不同区域对影像的放大率不同而形成的画面扭曲变形现象,这种变形的程度从画面中心至画面边缘依次递增。焦距越小,视场角就越大,畸变也就越严重。
相机镜头的畸变可以分为径向畸变和切向畸变两类。径向畸变是由于镜头自身凸透镜的固有特性造成的,产生原因是光线在远离透镜中心的地方比靠近中心的地方更加弯曲。径向畸变沿着透镜半径方向分布,主要包括桶形畸变和枕形畸变两种,如图2A所示,图2A为现有技术中桶形畸变和枕形畸变的示意图。切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致,如图2B所示,图2B为现有技术中切向畸变产生的原理示意图。
目前,为满足用户的实际驾车需求,现有的车载后视系统通过配置的鱼眼摄像头拍摄车辆后方的图像,鱼眼摄像头的视场范围大,但是其拍摄得到的图像存在畸变,不符合用户的视觉习惯。现有技术首先通过对鱼眼摄像头进行标定,估算出该鱼眼摄像头标定后的内部参数和外部参数;根据该标定后的内部参数和外部参数建立鱼眼摄像头的成像模型;然后通过该成像模型对分图像进行矫正,得到满足人眼视觉效果的图像。但是鱼眼摄像头位置发生改变就要进行标定,标定鱼眼摄像头的工作量大,影响了畸变矫正的效率。
另外,现有技术主要通过中央处理器进行图像矫正,但是在处理鱼眼摄像头所拍摄的图像时,是逐像素进行运算的,且有大量的浮点运算,运算量大,在1080p分辨率下很难达到实时,处理器的主频又存在限制,因此难以保证畸变矫正的实时性。
为了解决上述问题,本公开实施例提供了一种畸变矫正方法、装置、车载设备和车辆,其中,该方法首先基于待处理图像每个像素在像素坐标系中的视场角,以及相机坐标系中虚拟半球面模型上多个坐标点的视场角,将多个坐标点中第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点来确定为每个像素在相机坐标系中的目标坐标点,以确定待处理图像每个像素在虚拟半球面模型上对应的坐标点;然后确定该目标坐标点对应的像素值,实现将待处理图像映射到虚拟半球面模型上;进一步的,根据像素值的像素坐标目标坐标点、目标坐标点的像素值、相机参数和投影参数,得到投影图像数据;最后基于投影图像数据进行渲染,得到畸变矫正后的目标图像。通过将水平视场角和竖直视场角相同作为映射关系,使得像素坐标系中每个像素映射至相机坐标系中,无需进行相机标定,从而避免了相机标定的繁琐工作,减少了工作量,提升了畸变校正的效率。
一些实施例中,本公开通过调用图形渲染接口(Open Graphics Library,OpenGL)来使用图形处理器(Graphics Processing Unit,GPU)进行并行计算,由于GPU具有多并发线程的大规模并行吞吐体系结构,因此本公开实施例提供的畸变矫正方法突破了处理器主频的限制,实现高性能计算。其中,OpenGL,又称为开放图形库或者“开放式图形库”,是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(Application ProgrammingInterface,API)。
如图3所示,图3为本公开实施例所述一种畸变矫正方法的实现场景示意图,图中车辆301安装有鱼眼相机302和电子后视镜303,其中电子后视镜303包括图像处理模块303a和显示模块303b。鱼眼相机302所拍摄的待处理图像存在畸变,需要通过电子后视镜303的图像处理模块303a进行畸变矫正,以通过电子后视镜303的显示模块303b进行显示,从而减少车辆后方的视觉盲区,满足用户的驾车需求。
本公开首先基于待处理图像每个像素在像素坐标系中的视场角,以及相机坐标系中虚拟半球面模型上多个坐标点的视场角来确定目标坐标点,,该目标坐标点为第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点,然后确定该目标坐标点对应的像素值,实现将待处理图像映射到虚拟半球面模型上;进一步的,根据目标坐标点、所述目标坐标点对应的像素值和投影参数,得到投影图像数据;最后基于所述投影图像数据进行渲染,得到畸变矫正后的目标图像。
本公开实施例中提供的畸变矫正方法,可以为通过畸变矫正装置、车载设备实现,车载设备可以包括:电子后视镜、全景环视系统等使用鱼眼相机的设备。本公开对此不做限制。
如图4所示,图4为本公开实施例所述一种畸变矫正方法的流程示意图,该方法包括:
S401、获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角。
一些实施例中,在进行图像畸变矫正时,先获取需要进行畸变矫正的目标图像,这里的获取方式可以是针对鱼眼相机等图像采集设备实时采集到的图像实时进行获取,鱼眼相机可以部署在车载设备(例如电子后视镜)中,用于实时采集车辆附近的图像。
其中,待处理图像是通过鱼眼相机拍摄的图像,待处理图像存在畸变需要进行矫正。
针对待处理图像,首先获取到的是在图像坐标系下的各个像素对应的位置坐标,例如,图像中像素A的坐标为(X,Y)。可以理解的是,图像坐标系是以图像的中心为坐标原点建立的坐标系。
基于待处理图像中各个像素的位置坐标,可以确定图像坐标系下,各个像素的水平视场角和竖直视场角。以像素A(X,Y)为例,像素A在图像坐标系x轴上的分量为X,记作投影点Ax;像素A在y轴上的分量为Y,记作投影点Ay。基于相机坐标系Xc-O-Yc与图像坐标系X-O-Y之间的关系,在O-O1-X平面上确定角Ax-O-O1为像素A在图像坐标系中的水平视场角,其中Ax为正则为右视场角,Ax为负则为左视场角。在O-O1-Y平面上确定角Ay-O-O1为像素A在图像坐标系中的竖直视场角,其中Ay为正则为下视场角,Ay为负则为上视场角。
进一步的,基于图像坐标系和像素坐标系中间的转换关系,以及畸变表确定待处理图像中各个像素在像素坐标系下的水平视场角和竖直视场角。像素坐标系下像素B的位置坐标为(Xb,Yb),由于像素坐标系的原点坐标为待处理图像的左上角顶点,因此待处理图像的中点在像素坐标系中的位置坐标记作(u0,v0),则在像素坐标系下像素B的位置坐标为(Xb-u0,Yb-v0)。像素B到待处理图像的中点(u0,v0)的距离l:
式中,l对应畸变表中的真实像高.
图5为光学畸变原理图,如图5所示,像素A表示在图像中的真实像素位置,A`表示在待处理图像中畸变的像素位置。根据畸变表中畸变率D:
式中,y是畸变表中的真实像高,y0为参考像高。需要说明的是,畸变定义为真实像高与参考像高的差,而在实际应用中经常将畸变与参考像高之比的百分数来表示畸变,称为相对畸变,也称为畸变率D。
其中,畸变表由生产鱼眼相机的厂家在出厂时配置,示例性的如表1所示,表1是某种鱼眼相机的畸变表,表中包括角度,真实像高、参考像高以及畸变率。
表1由此,根据畸变率D,可以得到参考像高L:
则,理论像素坐标(xx,yy)为:
进一步的,确定像素坐标系下像素点B的水平视场角Vx和竖直视场角Vy:
式中,fp为像素焦距
f为鱼眼相机坐标的焦距,单位为mm,0.003为鱼眼相机光学传感器的像元尺寸,在此仅为示例性说明,不做具体限制,因此,可根据实际的像元尺寸计算得到像素焦距fp。
一些实施例中,待处理图像为待矫正视频中的任一帧图像,获取当前的待处理图像对应的相机焦距;将当前的待处理图像对应的相机焦距与上一帧待处理图像对应的相机焦距进行比较,以根据比较结果确定相机是否变焦。本公开实施例还可以获取当前的目标图像对应的相机焦距等信息,通过将当前的目标图像对应的相机焦距与上一帧目标图像对应的相机焦距进行比较,如果二者一致,说明相机没有发生变焦,如果二者不一致,说明相机发生变焦。上述过程主要是为了确定每一帧图像是在什么样的相机焦距下拍摄到的或者相机是否处于实时动态变焦的情况,从而丰富本公开实施例的应用场景。
另外,式中理论像素横坐标xx为正的情况下,像素坐标系中待处理图像中像素点B的第一水平视场角为右视场角,理论像素横坐标xx为负的情况下,像素坐标系中待处理图像中像素点B的第一水平视场角为左视场角;理论像素纵坐标yy为正的情况下,像素坐标系中待处理图像中像素点B的第一竖直视场角为下视场角,理论像素纵坐标yy为负的情况下,像素坐标系中待处理图像中像素点B的第一竖直视场角为上视场角。
上述实施例,在确定图像坐标系中待处理图像中每个像素点的水平视场角和竖直视场角之后,根据图像坐标系和像素坐标系之间的转换关系以及鱼眼相机的畸变表,确定像素坐标系中待处理图像每个像素点的第一水平视场角和第一竖直视场角。
然后,本公开调用OpenGL,基于OpenGL中的虚拟相机建立相机坐标系,以相机正对的平面为XOY平面,右侧为x轴正方向,下方为y轴正方向,垂直平面为z轴,建立右手笛卡尔三维坐标系,确定为相机坐标系。
在相机坐标系中,建立半球面模型。首先,以相机原点Q为球心建立半径为r的球面。把半球面(取z>0的部分)剖分成三角面片,每个三角面片顶点P的坐标为(xr,yr,zr),P在XOZ(xr,0,zr)平面的正投影点为p,矢量Qp与坐标轴z轴的夹角poz:
记作第二水平视场角,其中xr为正,则第二水平视场角为右视场角,xr为负,为第二水平视场角为左视场角;
P(xr,yr,zr)在YOZ平面的正投影点为h,矢量Qh与坐标轴z轴的夹角hoz:
记作第二竖直视场角,其中yr为正,则第二竖直视场角为下视场角,yr为负,则第二竖直视场角为上视场角)。
S402、在相机坐标系中,从多个坐标点中确定目标坐标点,目标坐标点为第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点
一些实施例中,在得到第二水平视场角和第二竖直视场角之后,确定第一水平视场角和第二水平视场角相同,并且第一竖直视场角和第二竖直视场角相同的坐标点确定为目标坐标点。
上述实施例,基于图像坐标系和相机坐标系的转换关系,结合畸变表,无需提前对鱼眼相机进行标定,仍能够找到待处理图像中每个像素去畸变之后的位置,去除了相机标定所需的工作量,进一步提升了畸变矫正的工作效率。
S403、基于目标坐标点,从待处理图像中确定与目标坐标点对应的像素值。
一些实施例中,确定像素坐标系中待处理图像每个像素在相机坐标系中的目标坐标点之后,从待处理图像中确定目标坐标点对应的像素值,以将待处理图像作为纹理图像贴在半球面模型上。
S404、根据目标坐标点、所述目标坐标点对应的像素值和投影参数,确定投影图像数据。
其中,投影参数为相机与成像平面的投影参数,包括:相机的可视角范围、相机的投影比例和相机的投影距离。本公开实施例将OpenGL中的函数gluPerspective(fovy,aspect,zNear,zFar)作为投影函数,fovy为相机的可视角范围,aspect为物体在成像平面上的宽高比,zNear为相机到物体最近成像平面的距离,zFar为相机到物体最远成像平面的距离。如图6所示,图6为投影参数的示意图。
一些实施例中,创建用户界面控件,以方便用户调整相机的位置方便查看车辆周围的情况。用户界面控件可设置为3个,包括视线方向与x轴的夹角a,视线方向与y轴的夹角b,以及相机的可视角范围fovy。用户在通过这三个用户界面控件调整相机的位置时,图像处理器可实时获取到相机的转动方向和相机的可视角范围从而确定其中投影参数中包括的数据以及相机参数中包括的数据。
其中,相机参数中包括相机的位置坐标、相机的视线方向和相机的转动方向,本公开一些实施例中,相机参数是OpenGL中函数gluLookAt(eye,at,up)对应的矩阵,eye为相机的位置也是坐标系原点;at为相机的视线方向,视线方向与x轴的夹角记作a,视线方向与y轴的夹角记作b。up为相机的转动方向,例如要使得相机拍摄的物体成像为正,则相机的转动方向设置为(0,1,0)使得相机顶部正朝向。
为便于说明相机参数的含义,可以将相机想象成自己的脑袋,相机的位置坐标也就是脑袋的位置坐标,相机的视线方向也就是眼睛看物体的方向,相机的转动方向也就是头顶的朝向。
实际应用中,用户可调整相机参数,并且获取对应的相机参数。例如鱼眼相机安装于车辆的侧后方,用户调整鱼眼相机来看到地面的状况,将鱼眼相机原本平视的状态调整为俯视。
在获取上述投影参数和相机参数之后,本公开实施例通过OpenGL利用图像处理器对半球面模型上的纹理图像进行处理,得到相机坐标系中的投影图像。
上述实施例,根据用户界面控件调整鱼眼相机位置,实现根据不同场景,确定不同的相机转动方向和可视角范围,提升了畸变矫正的场景适应性,同时根据不同的场景提升畸变矫正的效果。
S405、基于投影图像数据进行渲染,以得到畸变矫正后的目标图像。
一些实施例中,利用OpenGL将投影图像进行渲染,可以进行可视化处理,显示在屏幕上,使得用户能够看到畸变矫正后的目标图像。
一些实施例中,由于鱼眼相机拍摄到的是待矫正视频,待处理图像为待矫正视频中的任一帧图像,在将该待处理图像畸变矫正得到目标图像之后,保存鱼眼相机的转动方向和相机的可视角范围,从而处理鱼眼相机所拍摄的待矫正视频中其余帧图像,实现在针对某一帧图像进行畸变矫正之后,快速处理鱼眼相机所拍摄的视频数据,减少可畸变矫正的计算量,使得视频矫正不再收到处理器主频的限制。
一些实施例中,本公开所述畸变矫正方法应用于车辆,具体应用车辆的鱼眼相机,例如全景系统,鱼眼相机安装在车辆的前后左右,数量可以是4个也可以是8个,用户可通过车辆的全景系统了解车身周围的状况。在基于投影图像进行渲染得到畸变矫正的目标图像之后,对目标图像进行识别,以获取路况信息,路况信息包括以下至少一项:障碍物位置、障碍物大小、障碍物类型、坑洼位置、坑洼大小、坑洼深度。进一步的,基于路况信息,控制车辆行驶,或者生成提示信息,以提示用户车身周围存在障碍物或坑洼。
一些实施例中,本公开所述畸变矫正方法应用于车辆,具体应用于车辆的电子后视镜,鱼眼相机安装于车辆的侧后方。在基于投影图像进行渲染得到畸变矫正的目标图像之后,且检测到车辆的倒车信号时,对目标图像进行物体识别,以获取车辆侧后方的路况信息,然后基于路况信息控制车辆行驶,或者生成提示信息,一提示用户车辆后方存在障碍物或坑洼。
综上,本公开实施例提供了一种畸变矫正方法,该方法首先基于待处理图像每个像素在像素坐标系中的视场角,以及相机坐标系中虚拟半球面模型上多个坐标点的视场角,将多个坐标点中第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点确定为每个像素在相机坐标系中的目标坐标点,以确定待处理图像每个像素在虚拟半球面模型上对应的坐标点;然后确定该目标坐标点对应的像素值,实现将待处理图像映射到虚拟半球面模型上;进一步的,根据目标坐标点、目标坐标点的像素值和投影参数,得到投影图像数据;最后基于所述投影图像数据进行渲染,得到畸变矫正后的目标图像。过水平视场角和竖直视场角相同,将像素坐标系中每个像素映射至相机坐标系中,无需进行相机标定,从而避免了相机标定的繁琐工作,减少了工作量,提升了畸变校正的效率。
如图7所示,图7为本公开实施例所述的一种畸变矫正装置的结构图,该装置包括:
获取模块701,用于获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角;其中,待处理图像是通过鱼眼相机拍摄的图像;
坐标确定模块702,在相机坐标系中,从多个坐标点中确定目标坐标点,目标坐标点为第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点;
像素值确定模块703,用于基于目标坐标点,从待处理图像中确定与目标坐标点对应的像素值;
投影模块704,用于根据目标坐标点、目标坐标点对应的像素值和投影参数,确定投影图像数据,投影参数为相机与成像平面的投影参数;
渲染模块705,用于基于投影图像数据进行渲染,以得到畸变矫正后的目标图像。
作为本公开实施例一种可选的实施方式,获取模块701,具体用于:
根据鱼眼相机的畸变表,确定在像素坐标系中,待处理图像每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,坐标确定模块702,具体用于:基于待处理图像每个像素的图像坐标以及图像坐标系和像素坐标系的转换关系,确定待处理图像每个像素的像素坐标;
根据畸变表以及待处理图像每个像素的像素坐标,确定每个像素的第一水平视场角和第一竖直视场角。
作为本公开实施例一种可选的实施方式,投影模块704,还用于:获取投影参数;
其中,
投影参数包括:相机的可视角范围、相机的投影比例和相机的投影距离。
作为本公开实施例一种可选的实施方式,渲染模块705,还用于:保存相机的转动方向和相机的可视角范围;
根据相机的转动方向和相机的可视角范围,处理待矫正视频中待处理图像之后的其余帧图像。
作为本公开实施例一种可选的实施方式,渲染模块705,还用于:识别目标图像,以获取路况信息,路况信息包括以下至少一项:障碍物位置、障碍物大小、障碍物类型、坑洼位置、坑洼大小、坑洼深度;
基于路况信息,控制车辆行驶。
综上,本公开实施例提供了一种畸变矫正装置,该装置基于待处理图像每个像素在像素坐标系中的视场角,以及相机坐标系中虚拟半球面模型上多个坐标点的视场角,将多个坐标点中第二水平视场角和第一水平视场角相同,且第二竖直视场角和第二竖直视场角相同的坐标点确定为每个像素在相机坐标系中的目标坐标点,以确定待处理图像每个像素在虚拟半球面模型上对应的坐标点;然后确定该目标坐标点对应的像素值,实现将待处理图像映射到虚拟半球面模型上;进一步的,根据目标坐标点、目标坐标点的像素值和投影参数,得到投影图像数据;最后基于投影图像数据进行渲染,得到畸变矫正后的目标图像。通过水平视场角和竖直视场角相同,将像素坐标系中每个像素映射至相机坐标系中,无需进行相机标定,从而避免了相机标定的繁琐工作,减少了工作量,提升了畸变校正的效率。
如图8所示,图8为本公开实施例所述的一种车载设备的结构图,图8中本公开实施例提供一种车载设备,该车载设备包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述方法实施例中的畸变矫正方法的各个过程。且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例提供一种车辆,其特征在于,该车辆包括:上述实施例中畸变矫正装置,或者,上述实施例中车载设备,且能达到相同的技术效果,为避免重复,这里不再赘述。
本公开实施例提供一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述方法实施例中畸变矫正方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,该计算机可读存储介质可以为只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等。
本公开实施例提供一种计算程序产品,该计算机程序产品存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例中畸变矫正方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本领域技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。
本公开中,处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本公开中,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
本公开中,计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储,信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。根据本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种畸变矫正方法,其特征在于,包括:
获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角,其中,所述待处理图像是通过相机拍摄的图像;
在所述相机坐标系中,从所述多个坐标点中确定目标坐标点,所述目标坐标点为所述第二水平视场角和所述第一水平视场角相同,且所述第二竖直视场角和所述第二竖直视场角相同的坐标点;
基于所述目标坐标点,从所述待处理图像中确定与所述目标坐标点对应的像素值;
根据所述所述目标坐标点、所述目标坐标点对应的像素值、投影参数,确定投影图像数据,所述投影参数为所述相机与成像平面的投影参数;
基于所述投影图像数据进行渲染,以得到畸变矫正后的目标图像。
2.根据权利要求1所述的方法,其特征在于,所述获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,包括:
根据所述相机的畸变表,确定在所述像素坐标系中,所述待处理图像每个像素的所述第一水平视场角和所述第一竖直视场角。
3.根据权利要求2所述的方法,其特征在于,所述根据所述相机的畸变表,确定在所述像素坐标系中,所述待处理图像每个像素的所述第一水平视场角和所述第一竖直视场角,包括:
基于所述待处理图像每个像素的图像坐标以及图像坐标系和所述像素坐标系的转换关系,确定所述待处理图像每个像素的像素坐标;
根据所述畸变表以及所述待处理图像每个像素的像素坐标,确定所述每个像素的所述第一水平视场角和第一竖直视场角。
4.所述根据权利要求1所述的方法,所述根据所述目标坐标点、所述目标坐标点对应的像素值和投影参数,确定投影图像数据之前,还包括:
获取投影参数;
其中,所述投影参数包括:所述相机的可视角范围、所述相机的投影比例和所述相机的投影距离。
5.根据权利要求4所述的方法,其特征在于,所述待处理图像为待矫正视频中的任一帧图像,所述基于所述投影图像数据进行渲染,以得到畸变矫正后的目标图像帧之后,还包括:
保存所述相机的转动方向和所述相机的可视角范围;
根据所述相机的转动方向和所述相机的可视角范围,处理所述待矫正视频中所述待处理图像之后的其余帧图像。
6.根据权利要求1所述的方法,其特征在于,所述方法应用于车辆,所述基于所述投影图像数据进行渲染,以得到畸变矫正后的目标图像之后,所述方法还包括:识别所述目标图像,以获取路况信息,所述路况信息包括以下至少一项:障碍物位置、障碍物大小、障碍物类型、坑洼位置、坑洼大小、坑洼深度;
基于所述路况信息,控制所述车辆行驶。
7.一种畸变矫正装置,其特征在于,包括:
获取模块,用于获取待处理图像每个像素在像素坐标系中的第一水平视场角和第一竖直视场角,以及在相机坐标系中半球面模型上多个坐标点的第二水平视场角和第二竖直视场角,其中,所述待处理图像是通过相机拍摄的图像;
坐标确定模块,用于在所述相机坐标系中,从所述多个坐标点中确定目标坐标点,所述目标坐标点为所述第二水平视场角和所述第一水平视场角相同,且所述第二竖直视场角和第二竖直视场角相同的坐标点;
像素值确定模块,用于基于所述目标坐标点,从所述待处理图像中确定与所述目标坐标点对应的像素值;
投影模块,用于根据所述目标坐标点、所述目标坐标点对应的像素值和投影参数,确定投影图像数据,所述投影参数为所述相机与成像平面的投影参数;
渲染模块,用于基于所述投影图像数据进行渲染,以得到畸变矫正后的目标图像。
8.一种车载设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的畸变矫正方法。
9.一种车辆,其特征在于,包括:
如权利要求7所述的畸变矫正装置,或者,如权利要求8所述的一种车载设备。
10.一种计算机可读存储介质,其特征在于,包括:所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的畸变矫正方法。
11.一种计算机程序产品,其特征在于,包括:当所述计算机程序产品在计算机上运行时,使得所述计算机实现权利要求1至6任一项所述畸变矫正方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210239594.6A CN116777755A (zh) | 2022-03-11 | 2022-03-11 | 一种畸变矫正方法、装置、车载设备及车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210239594.6A CN116777755A (zh) | 2022-03-11 | 2022-03-11 | 一种畸变矫正方法、装置、车载设备及车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116777755A true CN116777755A (zh) | 2023-09-19 |
Family
ID=87986592
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210239594.6A Pending CN116777755A (zh) | 2022-03-11 | 2022-03-11 | 一种畸变矫正方法、装置、车载设备及车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116777755A (zh) |
-
2022
- 2022-03-11 CN CN202210239594.6A patent/CN116777755A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109741455B (zh) | 一种车载立体全景显示方法、计算机可读存储介质及系统 | |
JP5739584B2 (ja) | 車両周辺視角化のための3次元映像合成装置およびその方法 | |
US9858639B2 (en) | Imaging surface modeling for camera modeling and virtual view synthesis | |
US11303807B2 (en) | Using real time ray tracing for lens remapping | |
US8134608B2 (en) | Imaging apparatus | |
JP5491235B2 (ja) | カメラキャリブレーション装置 | |
KR101592740B1 (ko) | 차량용 광각카메라의 영상 왜곡 보정 장치 및 방법 | |
JP2011215063A (ja) | カメラ姿勢パラメータ推定装置 | |
CN112655024B (zh) | 一种图像标定方法及装置 | |
JP5456330B2 (ja) | 画像表示装置及びそのカメラ取り付け角度算出方法 | |
CN104917955A (zh) | 一种图像转换和多视图输出系统及方法 | |
CN108805807B (zh) | 环景图像的拼接方法及其系统 | |
WO2008114264A2 (en) | A method and apparatus for video image stabilization | |
US9984444B2 (en) | Apparatus for correcting image distortion of lens | |
CN103065318A (zh) | 多摄像机全景系统的曲面投影方法及装置 | |
TW201931303A (zh) | 提供影像的方法及用於支持所述方法的電子裝置 | |
US20200202495A1 (en) | Apparatus and method for dynamically adjusting depth resolution | |
CN111652937B (zh) | 车载相机标定方法和装置 | |
TW201220251A (en) | Image correction method and image correction apparatus | |
CN111815752B (zh) | 图像处理方法、装置和电子设备 | |
JP7315216B2 (ja) | 補正距離算出装置、補正距離算出用プログラムおよび補正距離算出方法 | |
CN116777755A (zh) | 一种畸变矫正方法、装置、车载设备及车辆 | |
CN116051652A (zh) | 一种参数标定方法及电子设备、存储介质 | |
WO2018016274A1 (ja) | 画像処理装置 | |
WO2019026388A1 (ja) | 画像生成装置および画像生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |