鱼眼镜头图像畸变校正方法及装置与流程

文档序号:11865856阅读:1357来源:国知局
鱼眼镜头图像畸变校正方法及装置与流程
本发明涉及图像处理
技术领域
,尤其涉及一种鱼眼镜头图像畸变校正方法及装置。
背景技术
:鱼眼镜头是一种视角接近或等于180°的特殊镜头,属于超广角镜头中的一种,它的视角力求达到或超出人眼所能看到的范围,从而极大地减少拍摄大范围景物所需要的相机数量,被广泛应用在全景成像、安全检测和地理测量等领域。但是鱼眼镜头的成像过程是非线性的,远离光轴区域的放大率比光轴附近的低,会在像平面内出现如图1(图1为鱼眼镜头图像示例)中所示的外凸情景,亦即桶形畸变。畸变图像在应用中将导致错误的特征提取、不精确的目标定位和测量结果偏差大等问题,因此需要对图像畸变进行校正。鱼眼镜头成像可分为两个过程:世界坐标系中的点由小孔成像模型投影到无畸变坐标点,即镜头投影成像过程;无畸变坐标点运动到畸变坐标点,即镜头畸变过程。目前,鱼眼镜头图像的畸变校正主要分为基于单幅图像的方法和基于多幅图像的方法。基于多幅图像的方法根据从不同视角拍摄的多幅靶标图像,实现同时计算畸变参数、畸变中心和相机投影矩阵的目的,虽然该类方法能够求解相机的全部参数,但是计算过程复杂,计算量庞大,需要消耗大量计算资源。基于单幅图像的方法通过一幅靶标图像,由约束条件确定畸变参数,只需标定部分相机参数,约束条件的选择是该类方法的重点。目前基于单幅图像的方法所使用的约束条件主要有球面透视投影约束和直线投影约束。使用球面透视投影约束的校正方法,需要同时计算球面坐标和9个变形参数,虽然相比直线投影约束校正精度较高,但实现复杂,而且将图像中心假定为主点,不能消除图像中心和与镜头中心不重合所引起的畸变。使用直线投影约束的方法,以两点的投影仍然是直线这一约束条件求解系数,该类方法建立的分式模型简单,但是校正精度较差,一种改进的方法是通过相干检测修正广角图像的残留误差,但该方法并不适用于高动态鱼眼镜头图像,算法通用性低,另一种改进的方法是使用三次样条插值计算多项式系数,能够改善动态范围对提点的影响,但对图像边缘的校正仍然不理想。技术实现要素:为克服相关技术鱼眼镜头图像畸变校正计算过程复杂和计算量庞大的问题,本申请提供一种鱼眼镜头图像畸变校正方法及装置。根据本申请实施例的第一方面,提供一种鱼眼镜头图像畸变校正方法,包括:获取正交斜网格靶标图像;根据所述正交斜网格靶标图像提取网格中心线;根据所述网格中心线计算畸变中心;基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;根据所述畸变中心和所述畸变系数使用校正公式对鱼眼镜头所拍摄图像进行校正;其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>所述校正公式中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。可选的,所述根据所述正交斜网格靶标图像提取网格中心线,包括:根据所述正交斜网格靶标图像中网格线边缘处的最大网格线宽度确定梯度检测算子;使用所述梯度检测算子对所述正交网格靶标图像的网格线进行卷积计算,得到粗分割网格线;去除粗分割所得网格线的伪边缘,得到细分割网格线;连接细分割所得网格线边缘处断裂的网格线,完成网格线分割;对完成分割的网格线进行细化,得到网格中心线。可选的,所述根据所述网格中心线计算畸变中心,包括:将网格中心线节点的坐标Xdi,以及网格中心线节点对应的世界坐标Xwi,依次代入线性超定方程(Xdi)TF(Xwi)=0中,求解得到最小二乘解F;提取F的左极点,以所述左极点为畸变中心;其中,i为所选取的网格中心线节点的序号,i=1、2……n,n为选取的网格中心线节点的个数。可选的,所述根据所述网格中心线计算畸变系数k1至k6中,在每条网格中心线上每隔100个像素取一个求值点(xd(i,j),yd(i,j)),并令:xd(i,j)=(xd(i,j-2)+xd(i,j+2))/16+(xd(i,j-1)+xd(i,j+1))×4/16+xd(i,j)×6/16yd(i,j)=(yd(i,j-2)+yd(i,j+2))/16+(yd(i,j-1)+yd(i,j+1))×4/16+yd(i,j)×6/16]]>其中(xd(i,j),yd(i,j))为所选取的求值点的坐标,具体地为第i条网格中心线上第j个求值点的坐标。可选的,所述的鱼眼镜头图像畸变校正方法,其特征在于,还包括评价校正精度,所述评价校正精度,包括:计算精度评价指标其中,r(i,j)为校正后的像素点坐标,r(i,j)'为理想的像素点坐标,(i,j)表示第i行第j列,N为选取的用于评价的点的个数;判断σ是否大于或等于预设的阈值;若σ大于或等于预设的阈值,则校正合格,否则,校正不合格。相应于本申请实施例的第一方面,根据本申请实施例的第二方面,提供一种鱼眼镜头图像畸变校正装置,包括:靶标图像获取单元,用于获取正交斜网格靶标图像;网格中心线提取单元,用于根据所述正交斜网格靶标图像提取网格中心线;畸变中心计算单元,用于根据所述网格中心线计算畸变中心;畸变系数计算单元,用于基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;校正单元,用于根据所述畸变中心和所述畸变系数使用校正公式对鱼眼镜头所拍摄图像进行校正;其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>所述校正公式中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。可选的,所述网格中心线提取单元,包括:梯度检测算子确定模块,用于根据所述正交斜网格靶标图像中网格线边缘处的最大网格线宽度确定梯度检测算子;粗分割模块,用于使用所述梯度检测算子对所述正交网格靶标图像的网格线进行卷积计算,得到粗分割网格线;细分割模块,用于去除所述粗分割网格线的伪边缘,得到细分割网格线;断裂连接模块,用于连接所述细分割网格线边缘处断裂的网格线,完成网格线分割;细化模块,用于对完成分割的网格线进行细化,得到网格中心线。可选的,所述畸变中心计算单元,包括:F求解模块,用于将网格中心线节点的坐标Xdi,以及网格中心线节点对应的世界坐标Xwi,依次代入线性超定方程(Xdi)TF(Xwi)=0中,求解得到最小二乘解F;极点提取模块,用于提取F的左极点,以所述左极点为畸变中心;其中,i为所选取的网格中心线节点的序号,i=1、2……n,n为选取的网格中心线节点的个数。可选的,所述畸变系数计算单元在根据所述网格中心线计算畸变系数k1至k6中,在每条网格中心线上每隔100个像素取一个求值点(xd(i,j),yd(i,j)),并令:xd(i,j)=(xd(i,j-2)+xd(i,j+2))/16+(xd(i,j-1)+xd(i,j+1))×4/16+xd(i,j)×6/16yd(i,j)=(yd(i,j-2)+yd(i,j+2))/16+(yd(i,j-1)+yd(i,j+1))×4/16+yd(i,j)×6/16]]>其中(xd(i,j),yd(i,j))为所选取的求值点的坐标,具体地为第i条网格中心线上第j个求值点的坐标。可选的,所述的鱼眼镜头图像畸变校正装置,还包括评价单元,所述评价单元用于评价校正精度,所述评价单元,包括:评价指标计算模块,用于计算精度评价指标其中,r(i,j)为校正后的像素点坐标,r(i,j)'为理想的像素点坐标,(i,j)表示第i行第j列,N为选取的用于评价的点的个数;判断模块,用于判断σ是否大于或等于预设的阈值;执行模块,用于若σ大于或等于预设的阈值,则校正合格,否则,校正不合格。本申请实施例提供的技术方案,使用正交斜网格单靶标,相比多靶标方法,算法过程更简单快速,使用正交斜网格靶标,以便于镜头的标定和加快运算过程的收敛;另一方面,先行对正交斜网格靶标图像提取网格中心线,使点坐标更精确,以提升计算精度;而且将畸变中心和畸变系数分开计算,避免了二者耦合导致的计算误差,进一步提高了校正精度;另外,校正算法使用能够平衡计算精度和运算速度的六参数校正模型,并将畸变中心作为主点引入六参数校正模型,从而避免镜头中心和图像中心不重合引起的图像不对称误差。因此本申请实施例所提供的技术方案,不仅能有效消除图像边缘残留的误差和不对称畸变,而且提升了高动态鱼眼镜头图像的分割效果,降低了参数求解的难度,算法简单,计算量小,计算精度高,能够有效地对鱼眼镜头图像的畸变进行校正。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为鱼眼镜头图像示例。图2为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正方法的流程示意图。图3为正交斜网格靶标一示例。图4为正交斜网格靶标图像一示例。图5为常规鱼眼镜头图像校正方法对正交斜网格图像进行校正的结果。图6为图2所示鱼眼镜头图像矫正方法对正交斜网格图像进行校正的结果。图7为一办公室鱼眼镜头原始图像示例。图8(a)至图8(e)为对图7进行校正后的结果。图9为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正方法的流程示意图。图10为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正装置的框图。图11为本申请一示例性实施例示出的另一种鱼眼镜头图像畸变校正装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。为了全面理解本申请,在以下详细描述中提到了众多具体的细节,但是本领域技术人员应该理解,本申请可以无需这些具体细节而实现。在其他实施例中,不详细描述公知的方法、过程、组件和电路,以免不必要地导致实施例模糊。图2为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正方法的流程示意图,如图2所示,所述方法包括:步骤S201,获取正交斜网格靶标图像。本申请使用正交斜网格靶标,图3为正交斜网格靶标一示例,如图3所示,靶标中网格线彼此正交,与水平线的夹角为45°,网格线与水平线之间的夹角也可以为其他度数,但网格线不与水平线垂直。由于正交斜网格靶标的网格线与水平线不垂直,从而可以防止计算过程不收敛的情况,加快运算过程的收敛;网格线彼此正交有利于镜头的标定,以及观察和评价校正效果。将鱼眼镜头成像平面与正交斜网格靶标平面平行,对正交斜网格靶标进行拍摄,得到正交斜网格靶标图像,如图4所示,图4为正交斜网格靶标图像一示例。步骤S202,根据所述正交斜网格靶标图像提取网格中心线。其中,得到正交斜网格靶标图像后,对正交斜网格靶标图像的网格提取网格中心线,以得到更精确的网格线像素点坐标,提高畸变参数(畸变中心和畸变系数)求解的精度。在一种实施方式中,步骤S203可以包括:(a1)根据所述正交斜网格靶标图像中网格线边缘处的最大网格线宽度确定梯度检测算子;(a2)使用所述梯度检测算子对所述正交网格靶标图像的网格线进行卷积计算,得到粗分割网格线;(a3)去除所述粗分割网格线的伪边缘,得到细分割网格线;(a4)连接所述细分割网格线边缘处断裂的网格线,完成网格线分割;(a5)对完成分割的网格线进行细化,得到网格中心线。由于制作靶标时网格线很难保证是单像素的,因此为了保证像素点坐标的准确,也就是能够进行单像素采点,需从粗细不完全均匀的网格提取网格中心线,所述网格中心线是粗细均匀且为单像素或接近单像素。网格线靶标图像的网格线附近梯度变换大,将图像的网格线和背景划分开,因此先确定合适的梯度检测算子,以对正交斜网格靶标图像进行粗分割。具体为先根据所述正交斜网格靶标图像中网格线边缘处的最大网格线宽度,建立梯度检测算子h,h为一种卷积模板,例如,设网格线边缘处的最大宽度为12个像素,则可以建立如下梯度检测算子h:表格为13*13的梯度检测算子,为了保证图像中无梯度变化区域的卷积和为1,故将h正中间处填入-7,9*9范围内填入-1,其它部分填入1。然后将正交斜网格靶标图像使用如下公式进行卷积,得到粗分割网格线:g(i,j)=∑k,lf(i+k,j+l)h(k,l)=∑k,lf(k,l)h(i-k,j-l)其中,g(i,j)为粗分割网格线中像素点的灰度值,i为像素点的横坐标,j为像素点的纵坐标,f(k,l)为未卷积的(i,j)处像素点的灰度值,k和l分别表示梯度检测算子h中的行位置和列位置。通常的网格分割是基于常用的梯度检测算子例如滤波模板,对实际网格情况没有针对性,本申请实施例根据正交斜网格靶标图像中网格线边缘处的最大网格线宽度确定梯度检测算子,具有针对性,能够更精确地提取到网格中心线。得到粗分割网格线后,由于粗分割网格线仍然残留一些伪边缘,需要去除这些伪边缘,所述伪边缘即背景向前景的过渡带。设某点(x,y)出的阈值为T(x,y),所述阈值为灰度值,其计算公式为T(x,y)=m(x,y)+k×δ(x,y),其中,m(x,y)是w×h窗口内所有像素点灰度值的均值,δ(x,y)是w×h窗口内所有像素点灰度值的标准差,k为偏差系数,k可以根据多次计算的经验预先设定,w为选取的窗口的宽度(单位为像素),h为选取的窗口的高度(单位为像素),w和h可以根据多次计算的经验预先设定,优选为奇数,便于确定合并中心,例如选取窗口大小为15*15。计算得到某点(x,y)的阈值T(x,y)后,判断该点的灰度值与其阈值之间的大小关系,若该点的灰度值大于或等于其阈值,则将该点放入背景点集合中,否则,放入前景点集合中,从而去除前景与背景之间的过渡带,亦即去除伪边缘。去除粗分割网格线的伪边缘后,得到细分割网格线。由于细分割网格线的边缘处可能会存在网格线断裂,需将断裂的网格线进行连接。具体可以对细分割网格线进行两次闭运算操作,先使用图像膨胀算法再使用图像腐蚀算法,膨胀模板和腐蚀模板根据细分割网格线边缘处的最大网格线宽度确定,膨胀模板和腐蚀模板可以相同,例如,细分割网格线边缘处的最大宽度为12,则可以选择为9*9的膨胀和腐蚀的模板,如下表。经过闭运算操作将一定距离内断裂的网格线连接起来,完成网格线的分割。111111111111111111111111111111111111111111111111111111111111111111111111111111111完成网格线的分割后,对网格线进一步细化,以得到网格中心线。网格线的细化可以使用击中击不中变换算法。击中击不中变换使用两个结构元E和F同时探测图像的内部和外部,并进行内外标记。设A为输入图像,E和F构成一个结构元素对B=(E,F),且E∩F=Ф,定义A×B=(AΘE)∩(ACΘF),该式表示的是当E平移至某一位置时,E完全处于A的内部,且F在该位置时,F完全处于A的补集中,满足这两个条件的位置才可以被输出,这便是击中击不中变换。具体地,网格线的细化使用击中击不中变换的形态学算法。当用B细化网格线S时,定义:其中,为S×B与S的差集。如果有结构对序列B1、B2……Bk,则可迭代地产生输出序列:S1=S⊗B1,...,Sk=Sk-1⊗Bk]]>不断进行迭代,网格线S会不断被细化。只要S为有限集合,最终便会得到单像素网格线。结构对序列B对网格线S的细化有方向,可以使用上、下、左、右、左下、左上、右下和右上8个方向的结构元素对完成分割的图像进行细化处理,直到对称地得到网格中心线。步骤S203,根据所述网格中心线计算畸变中心。为更好地理解畸变中心的计算原理,以下对畸变中心求解方程的推导过程做简略介绍。鱼眼镜头图像畸变过程可视为摄像机面向目标场景运动时,目标场景点的运动过程,将靶标平面板和靶标图像作为两个不同视角,两个视角对应的光心连线与各自平面的交点便是极点,即畸变中心。鱼眼镜头图像中,畸变点Xd径向运动到无畸变点Xu的过程可表示为:Xui=Xci+λi(Xdi-Xci)其中λi为当前像素点i处的畸变因子(每个像素点处的畸变因子都不相同)。用畸变中心点向量的斜对称矩阵[Xc]x左乘上式,得到:[Xc]xXui=λi[Xc]xXdi对上式左右两边分别左乘(Xdi)T,并带入Xu=HXw,则:(Xdi)T[Xc]xHXwi=0其中Xw为世界坐标点,令F=[Xc]xH,F即正交斜网格靶标平面与畸变图像平面之间的基础矩阵,F中的左极点便是畸变中心。因此,步骤S203可以包括:(b1)将网格中心线节点的坐标Xdi,以及网格中心线节点对应的世界坐标Xwi,依次代入线性超定方程(Xdi)TF(Xwi)=0中,求解得到最小二乘解F;(b2)提取F的左极点,以所述左极点为畸变中心;其中,i为所选取的网格中心线节点的序号,i=1、2……n,n为选取的网格中心线节点的个数。网格中心线节点为两条网格中心线的交点,交点处能更典型地反映畸变的情况,因此计算畸变中心时,取网格中心线节点为求值点,能更准确的计算畸变中心,且求值点数目较少,减少计算量。畸变中心的计算不需选取所有网格中心线节点,选取其中大部分,例如选取80%便可,以减少计算的数据量。畸变中心的计算也可以不限于网格中心线节点,也可以随机选取网格中心线上的点用于计算,但相比选取网格中心线节点而言精度较差。本申请实施例中,与常规算法不同,将畸变中心和畸变系数的计算分开,从而能够去除畸变中心和畸变系数之间耦合引起的误差,提高畸变中心的计算精度,从而也提高后续畸变系数的计算精度。步骤S204,基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。可以随机在网格中心线上选取一定个数的坐标点作为求值点来求解畸变系数,所述个数可以根据多次计算选取计算精度较优者。优选的是在每条网格中心线上每隔100个像素取一个求值点(xd(i,j),yd(i,j)),这样取点平均且不会数量过大,同时对求值点进行高斯加权,以减少计算误差,即令:xd(i,j)=(xd(i,j-2)+xd(i,j+2))/16+(xd(i,j-1)+xd(i,j+1))×4/16+xd(i,j)×6/16yd(i,j)=(yd(i,j-2)+yd(i,j+2))/16+(yd(i,j-1)+yd(i,j+1))×4/16+yd(i,j)×6/16]]>根据小孔成像模型,空间中的一条直线成像后,仍然是一条直线,只有长度会发生变化,因此畸变的网格线,经过校正公式变换后也必须为直线。首先对于一条直线l而言,其上的任意坐标点(相当于校正后的像素点)应满足如下方程:a×xu+b×yu+C=0,a、b和c为直线方程系数。将直线方程对应的在成像图中的曲线以L标示,将直线方程对L上的畸变点(相当于校正公式中未校正的像素点)求偏导,设畸变点坐标为(xd,yd),则得到:a×[∂xu∂xdδxd+∂xu∂ydδyd]+b×[∂yu∂xdδxd+∂yu∂ydδyd]=0]]>则直线l的斜率s(xd,yd)为:s(xd,yd)=-a/b=(∂yu∂xd+∂yu∂ydδydδxd)/(∂xu∂xd+∂xu∂ydδydδxd)]]>其中,δyd/δxd是曲线L在点(xd,yd)处的正切值,由于本申请使用正交斜网格靶标,因此不会出现δyd/δxd无穷大的情况,保证了算法的收敛性。使用同一条直线上点的斜率均相等作为约束条件(即直线斜率约束),基于校正公式,可以建立如下误差最小化代价函数:ϵs=Σi=1NΣj=1N(s(xd(i,j),yd(i,j))-s(xd(i,j+1),yd(i,j+1)))2]]>其中(xd(i,j),yd(i,j))为所选取的求值点的坐标,具体地为第i条网格中心线上第j个求值点的坐标。对上述误差最小化代价函数可以使用收敛性强的LM算法(Levenberg-Marquardt,列文伯格-马夸尔特法)求解。步骤S205,根据所述畸变中心和所述畸变系数对鱼眼镜头所拍摄图像进行校正,校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>其中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。所述校正公式为六参数校正模型公式,将求得的畸变中心和畸变系数代入校正公式,便能够对图像上的每个像素点进行校正。上式所示的六参数校正模型为一种高阶径向多项式模型,能够在保证计算精度的同时具有更快的运算速度。另外,为了避免镜头中心和图像中心不重合引起的图像不对称误差,步骤S205将畸变中心作为主点引入六参数校正模型中,从而抑制离心畸变以及每次安装镜头导致的中心不一致等问题。图5为常规鱼眼镜头图像校正方法对正交斜网格图像进行校正的结果,图6为本申请实施例所提供的鱼眼镜头图像校正方法对正交斜网格图像进行校正的结果。由图5和图6对比可知,图6中图像校正结果更好,说明本申请实施例所提供的鱼眼镜头图像校正方法具有更优的校正精度和效果。图7为一办公室鱼眼镜头原始图像示例,图8(a)至图8(e)为使用本申请实施例所提供的鱼眼镜头图像校正方法对图7进行校正后的结果,图8(a))为校正后的顶部图像,图8(b)为校正后的左部图像,图8(c)为校正后的中部图像,图8(d)为校正后的右部图像,图8(e)为校正后的底部图像。由图8(a)至图8(e)与图7对比可知,鱼眼镜头成像后的弧度等畸形部分得到了有效校正。本申请实施例所提供的鱼眼镜头图像校正方法,使用正交斜网格单靶标,相比多靶标方法,算法过程更简单快速,正交斜网格靶标的使用,也便于镜头的标定和加快运算过程的收敛;另一方面,所述方法先行对正交斜网格靶标图像提取网格中心线,使点坐标更精确,能够很好地提升计算精度;而且所述方法中畸变中心和畸变系数分开计算,避免了二者耦合导致的计算误差,进一步提高校正精度;另外,所述方法使用六参数校正模型,能够平衡计算精度和运算速度,并将畸变中心作为主点引入六参数校正模型,从而避免镜头中心和图像中心不重合引起的图像不对称误差。因此,本申请实施例所提供的方法不仅能有效消除图像边缘残留的误差和不对称的畸变,而且提升了高动态鱼眼镜头图像的分割效果,降低了参数求解的难度。实际应用结果证明本申请实施例所提供的方法,算法简单,计算量小,精度高,能够有效地对鱼眼镜头图像的畸变进行校正,恢复广角图像本来的面貌。图9为本申请一示例性实施例示出的另一种鱼眼镜头图像畸变校正方法的流程示意图,如图9所示,所述方法包括:步骤S901,获取正交斜网格靶标图像;步骤S902,根据所述正交斜网格靶标图像提取网格中心线;步骤S903,根据所述网格中心线计算畸变中心;步骤S904,步骤S204,基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;;步骤S905,根据所述畸变中心和所述畸变系数使用校正公式对鱼眼镜头所拍摄图像进行校正,其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>所述校正公式中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标;步骤S906,评价校正精度。其中,步骤S901至步骤S905与步骤S201至步骤S205相同。在对鱼眼镜头图像进行校正后,可以进一步评价校正的精度,若校正精度不合格,不能通过校正,可以返回运算步骤对参数进行调整,若校正精度合格,则校正合格,可以继续其他图像的校正。在一种实施方式中,所述步骤S906,可以包括:(c1)计算精度评价指标其中,r(i,j)为校正后的像素点坐标,r(i,j)'为理想的像素点坐标,(i,j)表示第i行第j列,N为选取的用于评价的点的个数;(c2)判断σ是否大于或等于预设的阈值;(c3)若σ大于或等于预设的阈值,则校正合格,否则,校正不合格。该实施方式中,使用校正后图像与理想图像中对应像素点的残差的均方差作为评价指标,所述阈值根据精度要求预先设定。精度的评价也可以使用其他评价指标,例如校正后图像与理想图像中对应像素点的残差的平均值。通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,并存储在一个存储介质中,包括若干指令用以使得一台智能设备执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储数据和程序代码的介质。图10为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正装置的框图。如图10所示,所述装置包括:靶标图像获取单元U1001,用于获取正交斜网格靶标图像;网格中心线提取单元U1002,用于根据所述正交斜网格靶标图像提取网格中心线;畸变中心计算单元U10013,用于根据所述网格中心线计算畸变中心;畸变系数计算单元U1004,用于基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;校正单元U1005,用于根据所述畸变中心和所述畸变系数使用校正公式对鱼眼镜头所拍摄图像进行校正;其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>所述校正公式中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。其中,所述网格中心线提取单元,可以包括:梯度检测算子确定模块,用于根据所述正交斜网格靶标图像中网格线边缘处的最大网格线宽度确定梯度检测算子;粗分割模块,用于使用所述梯度检测算子对所述正交网格靶标图像的网格线进行卷积计算,得到粗分割网格线;细分割模块,用于去除所述粗分割网格线的伪边缘,得到细分割网格线;断裂连接模块,用于连接所述细分割网格线边缘处断裂的网格线,完成网格线分割;细化模块,用于对完成分割的网格线进行细化,得到网格中心线。其中,所述畸变中心计算单元,可以包括:F求解模块,用于将网格中心线节点的坐标Xdi,以及网格中心线节点对应的世界坐标Xwi,依次代入线性超定方程(Xdi)TF(Xwi)=0中,求解得到最小二乘解F;极点提取模块,用于提取F的左极点,以所述左极点为畸变中心;其中,i为所选取的网格中心线节点的序号,i=1、2……n,n为选取的网格中心线节点的个数。其中,所述畸变系数计算单元在根据所述网格中心线计算畸变系数k1至k6中,在每条网格中心线上每隔100个像素取一个求值点(xd(i,j),yd(i,j)),并令:xd(i,j)=(xd(i,j-2)+xd(i,j+2))/16+(xd(i,j-1)+xd(i,j+1))×4/16+xd(i,j)×6/16yd(i,j)=(yd(i,j-2)+yd(i,j+2))/16+(yd(i,j-1)+yd(i,j+1))×4/16+yd(i,j)×6/16]]>其中(xd(i,j),yd(i,j))为所选取的求值点的坐标,具体地为第i条网格中心线上第j个求值点的坐标。图11为本申请一示例性实施例示出的一种鱼眼镜头图像畸变校正装置的框图。如图11所示,所述装置包括:靶标图像获取单元U1101,用于获取正交斜网格靶标图像;网格中心线提取单元U1102,用于根据所述正交斜网格靶标图像提取网格中心线;畸变中心计算单元U11013,用于根据所述网格中心线计算畸变中心;畸变系数计算单元U1104,用于基于直线斜率约束根据所述网格中心线和校正公式计算畸变系数k1至k6;校正单元U1105,用于根据所述畸变中心和所述畸变系数使用校正公式对鱼眼镜头所拍摄图像进行校正,其中,所述校正公式为:xu=xd+xd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12)yu=yd+yd(k1rd2+k2rd4+k3rd6+k4rd8+k5rd10+k6rd12),rd=xd2+yd2,]]>所述校正公式中,xu=xu'-xc,yu=yu'-yc,xd=xd'-xc,yd=yd'-yc,(xu',yu')为校正后的像素点坐标,(xd',yd')为像素点坐标,(xc,yc)为畸变中心坐标。评价单元U1106,所述评价单元用于评价校正精度。所述评价单元U1106,可以包括:评价指标计算模块,用于计算精度评价指标其中,r(i,j)为校正后的像素点坐标,r(i,j)'为理想的像素点坐标,(i,j)表示第i行第j列,N为选取的用于评价的点的个数;判断模块,用于判断σ是否大于或等于预设的阈值;执行模块,用于若σ大于或等于预设的阈值,则校正合格,否则,校正不合格。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网格单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者逆序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、装置或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、装置或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、装置或者设备中还存在另外的相同要素。以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1