具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。另外,在以下的发明中,不同的附图里的相同标号表示相同或不同的元件,具体请以发明中对标号的定义为准。
请参阅图1,其为本发明一实施例的单目测距装置的方框示意图。所述单目测距装置1用于根据鱼眼摄像机所获取的畸变较大的含有棋盘格的鱼眼图像确定鱼眼摄像机到棋盘格所在平面之间的距离。所述单目测距装置1包括获取装置10、提取装置20、角点坐标确定装置30、校正装置40、长度确定装置50及距离确定装置60。
所述获取装置10,用于获取鱼眼摄像机所摄取的含有棋盘格的鱼眼图像。
所述鱼眼摄像机为一种焦距短、视角大的摄像机,其所摄取的鱼眼图像相较于普通摄像机所摄取的图像具有更大的视野范围,且其所摄取的图像(如图2所示)畸变较大。
所述提取装置20,用于从所述获取的鱼眼图像中提取有效区域。
在本实施例中,鱼眼图像的有效区域的形状为圆形的顶部及底部对称各被切掉一部分所形成的类似于圆的形状。在其他实施例中,鱼眼图像的有效区域的形状可为圆形或者为圆形的左端及右端对称各被切掉一部分所形成的类似于圆的形状。鱼眼图像的有效区域之外的区域为黑色。所述有效区域的提取可采用最小二乘拟合法,逐行逐列扫描算法,或者面积统计算法等。所述最小二乘拟合法、逐行逐列扫描算法、及面积统计算法为现有技术,在此不进行赘述。在本实施例中,所述有效区域中的棋盘格占满整个有效区域。在其他实施例中,所述有效区域中的棋盘格可占据整个有效区域的部分区域,例如占据整个有效区域的10%区域,20%区域,30%区域,40%区域,或者70%区域等等。
所述角点坐标确定装置30,用于通过角点检测确定所述有效区域中棋盘格的角点坐标。
在本实施例中,所述角点坐标确定装置30具体用于:
以所述有效区域左上角点为坐标原点,水平向右为X轴正方向,垂直向下为Y轴正方向建立鱼眼图像坐标系;
如图3所示,以所述有效区域左上角点A为坐标原点,水平向右为X轴正方向,垂直向下为Y轴正方向建立鱼眼图像坐标系;其中,所述圆形或类似于圆的形状的区域为有效区域,左上角点A为与所述有效区域相切的方形的左上角点。
通过角点检测确定所述有效区域中棋盘格的角点在鱼眼图像坐标系中的坐标。
所述角点检测可为Harris检测算法,基于生长的棋盘格角点检测算法,或者SUSAN检测算法等。所述Harris检测算法,基于生长的棋盘格角点检测算法,及SUSAN检测算法为现有技术,在此不进行赘述。
所述校正装置40,用于根据经度坐标校正算法将所述有效区域中棋盘格的角点坐标转换为无畸变的棋盘格的角点坐标。
所述校正装置40具体用于:
根据所述获取的有效区域,确定所述有效区域的高度、所述有效区域的宽度、所述有效区域的中心、及所述有效区域的半径;
根据所述有效区域的中心、所述有效区域的半径、经度坐标校正算法及有效区域中棋盘格的角点坐标确定无畸变的棋盘格的角点坐标。
由于鱼眼图像的有效区域的形状为圆形或类似于圆的形状,有效区域直径为有效区域的高度和宽度中的较大值,则根据所述获取的有效区域,确定所述有效区域的高度、所述有效区域的宽度、所述有效区域的中心、及所述有效区域的半径包括:
根据所述获取的有效区域,确定有效区域的高度为m′及宽度为n′;
根据有效区域的高度m′及宽度n′确定有效区域中心为(n′/2,m′/2)及有效区域的半径R=max[m′/2,n′/2]。
根据所述有效区域的中心、所述有效区域的半径、经度坐标校正算法及有效区域中棋盘格的角点坐标确定无畸变的棋盘格的角点坐标包括:
请参阅图4,图4为本发明一实施例的鱼眼摄像机采用经度坐标校正算法进行校正的示意图。所述采用经度坐标校正算法进行校正为将圆形或类似于圆的鱼眼图像展开为方形图像,其中,在校正过程中,将鱼眼图像的横坐标进行校正而纵坐标不变。在图4中,圆形或类似于圆的区域k为鱼眼图像的有效区域,点Bi为有效区域中棋盘格的第i个角点,点Bi的坐标为点O为有效区域的中心,点O的坐标为(n′/2,m′/2),点(Ci为鱼眼图像中点Bi对应的校正点,点Ci的坐标为(ui,vi),点Ci的纵坐标与点Bi的纵坐标相同。从点O引平行于鱼眼图像坐标系的X轴的虚线L1,从点O引平行于鱼眼图像坐标系的Y轴的虚线L2,从点Bi作垂线与所述虚线L1相交形成点Di,点Di的坐标为/>从点Ci作垂线与所述虚线L1相交形成点Ei,且CiEi与类似于圆的区域k相切,切点为Ei,其坐标为(ui,m′/2),EiO为所述圆形或类似于圆的区域k的半径,从点Bi作垂线与所述虚线L2相交形成点Fi,点Fi的坐标为
DiO的长度与BiFi的长度相等,EiO的长度与CiFi的长度相等,即:又由于在校正过程中,鱼眼图像的纵坐标不变。因此:即:
令
则
其中,ui为无畸变的棋盘格的第i个角点的横坐标,vi为无畸变的棋盘格的第i个角点的纵坐标,为有效区域中棋盘格的第i个角点的横坐标,/>为有效区域中棋盘格的第i个角点的纵坐标,m′为有效区域的高度,n′为有效区域的宽度,R为有效区域的半径。
所述长度确定装置50,用于根据无畸变的棋盘格的角点坐标确定无畸变的棋盘格中的所有方格在图像中长度的平均值。
在本实施例中,所述长度确定装置50具体用于:
根据无畸变的棋盘格的角点坐标确定无畸变的棋盘格中的各方格在图像中长度;
确定无畸变的棋盘格中的所有方格在图像中长度的平均值。
所述确定无畸变的棋盘格中的各方格在图像中长度包括:
确定无畸变的棋盘格的第i+1个角点与无畸变的棋盘格的第i个角点在图像中的距离,其中i=1,2,…,n。
所述确定无畸变的棋盘格的第i+1个角点与无畸变的棋盘格的第i个角点在图像中的距离为:
其中,
其中,di为无畸变的棋盘格的第i+1个角点与无畸变的棋盘格的第i个角点在图像中的距离,ui+1为无畸变的棋盘格的第i+1个角点的横坐标,vi+1为无畸变的棋盘格的第i+1个角点的纵坐标,ui为无畸变的棋盘格的第i个角点的横坐标,vi为无畸变的棋盘格的第i个角点的纵坐标,为有效区域中棋盘格的第i+1个角点的横坐标,/>为有效区域中棋盘格的第i+1个角点的纵坐标,/>为有效区域中棋盘格的第i个角点的横坐标,/>为有效区域中棋盘格的第i个角点的纵坐标,m′为有效区域的高度,n′为有效区域的宽度,R为有效区域的半径。
所述确定无畸变的棋盘格中的所有方格在图像中长度的平均值包括:
确定无畸变的棋盘格中方格的总数量L;
根据无畸变的棋盘格中的各方格在图像中长度及无畸变的棋盘格中方格的总数量L,确定无畸变的棋盘格中的所有方格在图像中长度的平均值。
所述根据无畸变的棋盘格中的各方格在图像中长度及无畸变的棋盘格中方格的总数量L,确定无畸变的棋盘格中的所有方格在图像中长度的平均值为:
其中,
其中,d为无畸变的棋盘格中的所有方格在图像中长度的平均值,L为无畸变的棋盘格中方格的总数量,di为无畸变的棋盘格的第i+1个角点与无畸变的棋盘格的第i个角点在图像中的距离,为有效区域中棋盘格的第i+1个角点的横坐标,/>为有效区域中棋盘格的第i+1个角点的纵坐标,/>为有效区域中棋盘格的第i个角点的横坐标,/>为有效区域中棋盘格的第i个角点的纵坐标,m′为有效区域的高度,n′为有效区域的宽度,R为有效区域的半径。
所述距离确定装置60,用于根据预存的鱼眼摄像机的焦距、预存的棋盘格中方格的实际长度以及无畸变的棋盘格中的所有方格在图像中长度的平均值,确定鱼眼摄像机与棋盘格所在平面的距离。
请参阅图5,点A为鱼眼摄像机,AE为鱼眼摄像机的焦距,AB为鱼眼摄像机与棋盘格所在平面的距离,GF为无畸变的棋盘格中的所有方格在图像中长度的平均值,DC为棋盘格中的方格的实际长度。当根据有效区域中棋盘格的角点坐标确定无畸变的棋盘格中的所有方格在图像中长度的平均值后,所述无畸变的棋盘格的成像原理为普通摄像机所采用的相机成像原理。因此,ΔAEF~ΔABC,且ΔAGF~ΔADC,进而可得公式:AB×GF=DC×AE。
所述距离确定装置60具体用于:
根据公式来确定鱼眼摄像机与棋盘格所在平面的距离,其中,DC为预存的棋盘格中的方格的实际长度,AE为预存的鱼眼摄像机的焦距,GF为无畸变的棋盘格中所有方格在图像中长度的平均值。其中,DC为执行本发明前预先测量的棋盘格中的方格的实际长度。
具体地,下面详细说明其计算过程:
其中,
其中,AB为鱼眼摄像机与棋盘格所在平面的距离,DC为预存的棋盘格中的方格的实际长度,AE为预存的鱼眼摄像机的焦距,GF为无畸变的棋盘格中所有方格在图像中长度的平均值,L为无畸变的棋盘格中方格的总数量,为有效区域中棋盘格的第i+1个角点的横坐标,/>为有效区域中棋盘格的第i+1个角点的纵坐标,/>为有效区域中棋盘格的第i个角点的横坐标,/>为有效区域中棋盘格的第i个角点的纵坐标,m′为有效区域的高度,n′为有效区域的宽度,R为有效区域的半径。
在本实施例中,所述预存的鱼眼摄像机的焦距为在执行本发明前预先通过所述距离确定装置60获得。在其他实施例中,所述预存的鱼眼摄像机的焦距为从商家或者其他已知方法获得。
所述距离确定装置60还用于:
如图5所示,当根据有效区域中棋盘格的角点坐标确定无畸变的棋盘格中的所有方格在图像中长度的平均值后,所述无畸变的棋盘格的成像原理为普通摄像机所采用的相机成像原理。因此,ΔAEF~ΔABC,且ΔAGF~ΔADC,可得公式:AB×GF=DC×AE,进而其中,AE为鱼眼摄像机的焦距,AB为预存的鱼眼摄像机与棋盘格所在平面的距离,GF为无畸变的棋盘格中所有方格在图像中长度的平均值,DC为预存的棋盘格中的方格的实际长度。其中,所述AB及DC为在执行本发明前通过量测预先获得并存储的鱼眼摄像机与棋盘格所在平面的距离及棋盘格中的方格的实际长度。从而可通过预存的鱼眼摄像机与棋盘格所在平面的距离、无畸变的棋盘格中的所有方格在图像中长度的平均值及预存的棋盘格中的方格的实际长度来确定鱼眼摄像机的焦距。具体地,下面详细说明其计算过程:
其中,
其中,AE为鱼眼摄像机的焦距,AB为预存的鱼眼摄像机与棋盘格所在平面的距离,GF为无畸变的棋盘格中的所有方格在图像中长度的平均值,DC为预存的棋盘格中的方格的实际长度,L为无畸变的棋盘格中方格的总数量,为有效区域中棋盘格的第i+1个角点的横坐标,/>为有效区域中棋盘格的第i+1个角点的纵坐标,/>为有效区域中棋盘格的第i个角点的横坐标,/>为有效区域中棋盘格的第i个角点的纵坐标,m′为有效区域的高度,n′为有效区域的宽度,R为有效区域的半径。
本发明通过在从鱼眼摄像机获取含有棋盘格的鱼眼图像后,先提取有效区域,而后进行角点检测,并对有效区域中的角点坐标信息采用经度坐标校正算法进行校正,从而无需对整个畸变图像进行校正,一定程度上减少了计算量;并根据获取到的无畸变的角点坐标,计算棋盘格中的各方格在图像中长度,求取均值作为方格在图像中长度,一定程度上提高了方格在图像中长度的精度;最后通过此均值进行测距,一定程度上提高了单目测距的精度。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照以上较佳实施方式对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换都不应脱离本发明技术方案的精神和范围。本领域技术人员还可在本发明精神内做其它变化等用在本发明的设计,只要其不偏离本发明的技术效果均可。这些依据本发明精神所做的变化,都应包含在本发明所要求保护的范围之内。