所属领域
本发明属于图像处理技术领域,具体为一种hud的图像畸变矫正方法。
现有技术
近年来,为了实现人车新对话形式、提高汽车的安全性,抬头数字显示仪(headupdisplay)作为一款新技术产品应运而生,它的作用就是把时速、导航等重要的行车信息,投影到驾驶员前风挡玻璃上,驾驶员不必低头,就可以看到信息,避免分散对前方道路的注意力,提高安全性,同时驾驶员不必在观察远方的道路和近处的仪表之间调节眼睛,可避免眼睛疲劳。然而,车载hud经过光学系统投射到汽车的前挡风玻璃上,该过程经过复杂的光学转换以及汽车前挡风玻璃的非标准面型等原因,显示的图像会有畸变。因此,需要对汽车挡风玻璃上的图像进行校正以使用户可以看到标准的图像。市场上现有的技术绝大部分采用专用反射镜压制畸变,但这种可变形反射镜价格相对昂贵,且实现灵活性较差。用软件实现畸变矫正,通用性、灵活性较好,且成本较低。
专利cn105354569a提出了一种图像畸变矫正算法,主要针对停车场监控显示图像畸变矫正,此专利提出的矫正算法需计算各检测边缘点对应的图像边缘矫正坐标,来确定检测目标的图像矫正范围,然后建立畸变模型,将图像矫正范围内的各图像点的图像矫正坐标按照畸变模型的预设畸变算法,计算得到所述各图像点畸变后的畸变坐标。本专利算法需要对图像的各边缘点均进行坐标比对,数据量较大,且因停车场多为圆形摄像机,所以本方法中的预设畸变算法还涉及摄像机的畸变率、焦距等信息,计算量大,公式繁琐,操作方式复杂,利用微控制器实现此算法具有很大的难度。
技术实现要素:
本发明的目的是:针对现有图像畸变矫正算法计算量大,致使无法在hud上实现的不足,提出一种针对hud图像显示畸变矫正的方法。该方法通过网络高清摄像头拍摄汽车前挡风玻璃上的畸变点阵图像,通过图像处理识别图像中关键点圆心,与预先拍摄存储的基准点阵图像数据进行对比计算,将对比差值数据与hud通过通信交互,最后在hud设备上完成hud显示图像的畸变矫正。
本发明的技术方案是:一种矫正hud图像显示畸变的方法,具体包括如下步骤:
步骤一:获取基准点阵图像数据:根据车体坐标、白板中心点坐标以及摄像机安装位置,标定摄像机坐标系和图像坐标系;同时摄像机对白板标准图进行拍摄,此图即为基准点阵图像,将此基准点阵图像中各关键点坐标数据存储为基准点阵图像数据;
步骤二:通过摄像头抓取hud显示的点阵图片形成待矫正基准图像,通过图像预处理算法完成对待矫正基准图像的圆心定位;具体包括如下子步骤:
子步骤一:灰度化:将待矫正基准图像由rgb图像转换为灰度图像;
子步骤二:平滑处理;采用中值滤波对灰度化后的待矫正基准图像进行平滑处理,即将图像的每个像素用邻域(以当前像素为中心的正方形区域)像素的中值代替;
子步骤三:对比度增强;
子步骤四:线性归一化处理;
子步骤五:通过霍夫变换识别出其中的圆形,并根据原始图像中的圆形大小设置相应的阈值,将不符合要求的圆形去除,从而滤除掉重影,找到实际圆形的当前显示位置。
子步骤六:根据点阵数确定待矫正基准图像的几何圆心;
步骤三:将待矫正基准图像与步骤一中的基准点阵图像数据进行对比,将两者的几何圆心对准,两个矩阵的求差运算得到点阵中其他点的坐标偏差矩阵;
为了减少计算量的同时达到较高的矫正精度,本发明提出采用关键点线性插值方法,计算得到更大维度的待矫正基准图像,从而得到高维的坐标偏差矩阵;
步骤四:根据坐标偏差矩阵对待矫正原始图像进行坐标矫正,即对待矫正原始图像的拉伸、收缩变换,实现对hud图像显示畸变的矫正。
本发明的有益效果:在车辆形态参数检查输入完成后,hud和测试系统进行通讯,检测相机抓取hud图像,测试系统将抓取完成后的图像数据与基准图像数据进行关键点坐标比对,然后将各关键点坐标差值发送至控制系统,控制系统根据各坐标差值对待显示数据进行矫正,将矫正后的数据作为hud图像显示基准数据,至此显示矫正完成。解决了现有图像畸变矫正算法计算量大,致使无法在hud上实现的不足,使得hud上实现高质量图像处理和显示成为可行。
附图说明:
图1为实施例中的位置标定示意图;
图2为本发明提出的矫正hud图像显示畸变的方法主要流程示意图;
图3为实施例中的圆心定位处理示意图;
图4为实施例中5*3矩阵中心确定示意图;
图5为实施例中点阵畸变示意图;
图6为实施例中坐标差值计算示意图;
图7为实施例中矩阵扩大示意图;
图8坐标矫正示意图;
图9为实施例中hud图像显示畸变矫正前后效果示意图。
具体实施方式:
本实施例结合附图及一组具体图像数据展示本发明中提出的矫正hud图像显示畸变的方法,具体步骤如下:
步骤一:获取基准点阵图像数据:参阅图1,根据车体坐标、白板中心点坐标以及摄像机安装位置,标定摄像机坐标系和图像坐标系,此坐标系为后续计算各关键点坐标差值的标准坐标系;同时摄像机对白板标准图进行拍摄,此图即为基准点阵图像,将此基准点阵图像中各关键点坐标数据存储为基准点阵图像数据;本实施例中,基准点阵图像数据为一25×11矩阵
步骤二:通过摄像头抓取hud显示的点阵图片形成待矫正基准图像,通过图像预处理算法完成对待矫正基准图像的圆心定位;具体包括如下子步骤:
子步骤一:灰度化:将待矫正基准图像由rgb图像转换为灰度图像,本实施例中采用的灰度化计算公式为:
gray=(r*30+g*59+b*11+50)/100
其中r为红色分量、g为绿色分量、b为蓝色分量;
子步骤二:平滑处理;采用中值滤波对灰度化后的待矫正基准图像进行平滑处理,即将图像的每个像素用邻域(以当前像素为中心的正方形区域)像素的中值代替:
g(x,y)=med{f(x-k,y-l),(k,l∈w)}
其中,f(x,y),g(x,y)分别为灰度化后的待矫正基准图像和平滑处理后图像,w为二维模板,med函数是(medianfilter)中值滤波函数的简写,k是x,y坐标周围的要取的正方形区域的范围。;
子步骤三:对比度增强处理,使得可更容易识别标准图像,以及重影;
子步骤四:线性归一化处理:
由于摄像头拍摄的图像大小有所差异,需要根据原始图像的大小将拍摄的图像进行归一化处理,归一化处理后的图像即可与基准点阵图像数据在同一个标准下进行对比计算校正值:
其中,x,y分别为转换前、后的像素坐标值,maxvalue、minvalue分别为样本的最大和最小像素坐标值。
子步骤五:通过霍夫变换识别出其中的圆形,并根据原始图像中的圆形大小设置相应的阈值,将不符合要求的圆形去除,从而找到实际圆形的当前显示位置。本实施例中阈值设定为直径为4mm的圆;
子步骤六:根据点阵数确定待矫正基准图像的几何圆心,点阵为x行×y列(x,y均为奇数),几何圆心为:
行:
列:
如图4所示,5*3矩阵对应的几何圆心为(r3,c2)。
本实施例中,待矫正基准图像的几何圆心为(r13,c6);
步骤三:将待矫正基准图像与步骤一中的基准点阵图像数据进行对比,将两者的几何圆心对准,以水平方向25个点×垂直方向11个点的矩阵为例,如图5所示。几何圆心对准后,计算点阵中其他点的坐标偏差,如图6所示,例如基准图中m点坐标为(x1,y1),抓取的显示点阵中m点坐标为(x2,y2,坐标偏差计算为:
由于25×11点矩阵矫正的计算量相对较少,计算速度快,但误差相对较高,本实施例中,车载hud控制器根据25*11矩阵点固定坐标,采用关键点线性插值在分辨率为水平方向480像素和垂直方向240像素图像中得到121*61点的矩阵列,如图7所示:
已知25*11点矩阵固定坐标x、y轴分别为:
在每相邻两点之间插入4个点,将25*11矩阵演变为121*61矩阵,插入点坐标采用关键点线性插值,具体计算如下所示,以(x1,1,y1,1)与(x1,2,y1,2)两点间为例:
已知坐标(x1,1,y1,1),(x1,2,y1,2),我们得到插值系数α:
(x1,1,y1,1)与(x1,2,y1,2)两点之间x轴的插入4点坐标分别为:
[x1,1+(x1,2-x1,1)/5,x1,1+2*(x1,2-x1,1)/5,x1,1+3*(x1,2-x1,1)/5,x1,1+4*(x1,2-x1,1)/5]
通过x坐标和插值系数就可以得到y轴坐标,以此类推将25*11矩阵演变为121*61矩阵。
同理每个点的偏移量数据也由25*11矩阵通过关键点线性插值扩展为121*61矩阵。
各测试点的坐标差值如下所示,其中n=121,m=61。
上式中,δx,δy用像素值表示,代表相对于原始图像矩阵点坐标的偏移量。
步骤四:根据δx,δy数值对待矫正原始图像进行坐标矫正,即对待矫正原始图像的拉伸、收缩变换,如8示,1、2、3点原始坐标分别为u1,v1;u2,v2;u3,v3,1点偏差为δx1,δy1,矫正后,1点坐标变为x1,y1,x1=u1+δx1,y1=v1+δy1。
按照上述算法对
进行各点坐标矫正得到
矩阵即为矫正后矩阵待屏幕显示。
本实施例中,用待矫正基准图像作为待矫正原始图像进行坐标矫正,矫正前后的示意图如图9所示。可以看出,经过本发明所提出的方法,hud图像显示畸变得到明显矫正。
说明书摘要:在车辆形态参数检查输入完成后,hud和测试系统进行通讯,检测相机抓取hud图像,测试系统将抓取完成后的图像数据与基准图像数据进行关键点坐标比对,然后将各关键点坐标差值发送至控制系统,控制系统根据各坐标差值对待显示数据进行矫正,将矫正后的数据作为hud图像显示基准数据,至此显示矫正完成。