专利名称:一种测距方法及装置的制作方法
技术领域:
本发明涉及测量技术领域,尤其涉及一种测距方法及装置。
背景技术:
目前,常用的距离测量方法有标尺测量法,视距测量法,采用红外、激光、超声波测距等;传统的标尺测量是采用直接测量的方法,应用范围受到了限制,且测量所需参与的人数较多(一般需2人以上),而视距测量受个人和环境影响较大,导致测量误差较大;采用红夕卜、激光、超声波等测距需要利用精密的电子仪器,经过信号的处理产生数字的测量信息,测量成本较高。综上,现有的测距方法存在测量成本较高的问题。
发明内容
本发明实施例提供一种测距的方法及装置,用以解决现有测距中存在测量成本较高的问题。本发明实施例提供的一种测距方法,包括获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得到,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;确定所述两个成像视图上的所述目标物体的同一点对应的成像点;根据所确定的两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离。本发明实施例提供的一种测距装置,包括获取模块,用于获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得到,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;第一确定模块,用于确定所述两个成像视图上的所述目标物体的同一点对应的成像点;第二确定模块,用于根据所确定的两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离。本发明实施例通过获取含有目标物体的两个成像视图,确定所述两个成像视图上的所述目标物体的同一点对应的成像点,根据所述两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离,从而可以利用具备两摄像头的终端测距,操作简单,使用方便,省去了外加测量仪器的成本。
图1为本发明实施例提供的测距方法流程图;图2为本发明实施例两摄像头测距的立体示意图;图4为本发明实施例两摄像头测距的平面示意图;图5为本发明实施例提供的测距装置结构图。
具体实施例方式本发明实施例通过获取含有目标物体的两个成像视图,确定所述两个成像视图上的所述目标物体的同一点对应的成像点,根据所述两个成像点在像平面坐标系的横向坐标之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离,从而可以利用具备两摄像头的终端测距,测量成本较低,且不易受环境干扰。下面结合说明书附图对本发明实施例作进一步详细描述。如图1所示,为本发明实施例测距方法流程图,包括以下步骤SlOl :获取含有目标物体的两个成像视图,其中两个成像视图由不同摄像头拍摄得到,不同摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;S102 :确定两个成像视图上的目标物体的同一点对应的成像点;S103:根据两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定目标物体到成像平面的距离。在具体实施过程中,可以使用带有两摄像头的终端获取含有含有目标物体的两个成像视图,该目标物体到两摄像头成像平面的距离,可以近似作为该终端距离目标物体的距离;本发明实施例的执行主体可以为手机、平板电脑等任何安装了两个摄像头的终端;这里,摄像头的光心即指摄像头中凸透镜的光心,在具体实施过程中,进行拍摄之前,要保证安装的两摄像头凸透镜的光心在横向上间隔一定的距离,且两摄像头的成像平面在同一个平面;两摄像头光心在横向上间隔的距离即为两摄像头凸透镜的光心在世界坐标系中横向坐标值之差;可以设定两摄像头其中一个摄像头的光心为世界坐标系的原点,两摄像头的摄像头坐标系的原点分别为各自的光心,则另一个摄像头的摄像头坐标系的原点在世界坐标系中的横向坐标值即为两摄像头光心的横向距离。在获取两摄像头拍摄含有目标物体的两个成像视图后,需要匹配成像点,即寻找两个成像视图中代表目标物体同一点的两个成像点,并计算两个成像点在像平面坐标系的横向坐标值之差,即视差,为了保证测量结果的准确性,这里的视差一般需要达到亚像素精度;之后,根据目标物体同一点在两摄像头中成像的视差、两摄像头的光心的横向距离和两摄像头的焦距,确定目标物体到两摄像头成像平面的距离,也即近似为目标物体到两摄像头所属终端的距离。较佳地,所述两摄像头为同一终端拍摄方向相反的摄像头;在具体实施过程中,对于带有前后摄像头的手机,可以利用手机的前后摄像头分别拍摄目标物体,得到两个成像视图;较佳地,两摄像头为终端的前置摄像头和后置摄像头;获取含有目标物体的两个成像视图,其中两个成像视图由两个不同摄像头拍摄得至IJ,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面,包括当其中一个摄像头拍摄完目标物体后,记录下拍摄时终端的位置,当另一个摄像头进行拍摄时,比较另一个摄像头拍摄时终端的位置与之前记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户拍摄位置不准确,重新调整拍摄位置。比如,当终端为手机时,由于利用手机前后摄像头无法同时拍摄目标物体,需要前后摄像头分别进行拍摄,比如首先用手机前置摄像头拍摄,之后,再用后置摄像头拍摄,为了保证最终距离测量的准确性,可以使两摄像头拍摄时光心的横向距离保持不变,也即,先后拍摄时手机的位置一致,这里,可以利用手机指南针对手机位置进行监测,当前置摄像头拍摄完目标物体后,手机指南针记录下拍摄时手机的位置,当后置摄像头进行拍摄时,比较后置摄像头拍摄时手机的位置与之前手机指南针记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户位置不准确,重新调整拍摄位置。这里,手机指南针记录的手机的位置可以为具体的经度和纬度。较佳地,两摄像头为终端的前置摄像头和后置摄像头;确定两个成像视图上的目标物体的同一点对应的成像点之前,还包括在获取含有目标物体的两个成像视图后,根据拍摄前后终端位置的变化确定两个成像视图中心坐标的变化,根据该中心坐标的变化进行坐标平移;在具体实施过程中,当终端两次拍摄的位置不一致时,可以通过坐标系的平移变换,使两个摄像头光心之间的横向距离为定值;这里的位置不一致,仅指终端在与成像平面平行的平面内的移动,即,不包括前后方向的移动。这里,当终端为手机时,可以通过手机指南针记录手机拍摄位置的经度和纬度,根据拍摄先后经纬度的变化,确定前后摄像头先后拍摄的成像视图中心坐标的变化,根据确定的中心坐标的变化,对其中一个成像视图的像平面坐标系进行坐标平移,这里,横向坐标平移的具体数值即为成像视图的中心坐标在横向上增加或减少的值。进一步地,两个成像视图的像平面坐标系可以通过平移归一到一个平面坐标系,两成像点在该平面坐标系下的横向坐标值之差即为视差。较佳地,获取含有目标物体的两个成像视图之前,还包括确定两摄像头的焦距、两摄像头的像平面坐标系原点相对于摄像头坐标系原点的横纵坐标偏移量、及两摄像头的光心的横向距离,并对所述两摄像头进行立体校准,使两摄像头光轴平行,且使两摄像头的焦距及横纵坐标偏移量相同;在具体实施过程中,进行拍摄之前,可以读取摄像头的固定参数得到两摄像头的焦距,并读取两摄像头的像平面坐标系原点相对于摄像头坐标系原点的横纵坐标值偏移量;这里,如果两摄像头位于同一终端,可以首先通过单摄像头标定的方式得到该偏移量和两摄像头的焦距,并存储在该终端中,以便于在测距时直接读取,还可以通过双摄像头标定的方式得到两摄像头光心的横向距离,并存储在该终端中,进一步地,可以通过其中一个摄像头相对于另一个摄像头的三维平移和旋转矩阵来表示两摄像头之间的几何关系,根据得到的几何关系确定两摄像头凸透镜光心的横向距离,并对两摄像头进行立体校准,使两摄像头光轴平行,也即主光线平行;根据单摄像头标定的结果校准两摄像头的内部参数,使两摄像头的焦距、两摄像头的像平面坐标系原点相对各自的摄像头坐标系原点的横纵坐标偏移量相同;较佳地,确定所述两个成像视图上的目标物体的同一点对应的成像点,包括确定一个成像视图上对应所述目标物体一点的成像点所在的对极线;确定所述对极线在另一个成像视图上对应的对极线;从确定的所述对应的对极线上寻找所述目标物体一点在所述另一个成像视图上的成像点。在具体实施过程中,要得到两个成像点在像平面坐标系的横向坐标值之差,即视差,首先要把两个成像视图上对应的两个成像点匹配起来,然而,在二维空间上匹配对应的成像点时非常耗时的,为了减少匹配搜索的范围,可以利用极线约束使得对应的成像点的匹配由二维搜索降为一维搜索,以上步骤即为利用极线约束确定两个成像视图上对应的成像点的具体过程;在具体实施过程中,通过上述立体校准的过程,可以把两个成像视图行对准;两个成像视图行对准后,两个成像视图的对极线恰好在同一水平线上,这样其中一个成像视图上的任意一个成像点与其在另一个成像视图上的对应成像点就必然具有相同的行号,只需在另一个成像视图上的对应行进行一维搜索即可匹配到对应的成像点;在具体实施过程中,两个成像视图画面重合的部分所对应的实际物体可以作为测距的目标物体,最好使得两摄像头拍摄的两个成像视图画面重合度较高,这样可匹配的成像点也就较多,如果采用的是终端的两摄像头同时拍摄的方法,可以在用户对准目标物体,按下拍摄按钮之前向用户显示两摄像头的拍摄内容,根据两摄像头拍摄内容,提醒用户移动终端,以使两摄像头的拍摄内容重合度达到最大;如果采用的是终端的前后摄像头先后分别拍摄的方法,可以在其中一个摄像头拍摄完后,用户在使用另外一个摄像头拍摄时,同时向用户显示之前的摄像头已拍摄的内容及目前摄像头正在拍摄的内容,提醒用户移动终端,以使前后摄像头的拍摄内容重合度达到最大。在得到匹配的成像点后,就可以计算得出匹配的成像点之间的横向坐标值之差,即视差,在具体实施中可以获取多对匹配的成像点,计算得出多个视差值,在理想形式下,对应目标物体不同点的视差值是相同的,但是,由于实际拍摄时可能出现图像畸变等,得到的多个视差值有可能不同,可以通过求取平均值或选取中间值的方式确定一个视差值,以计算最后的距离。除极线约束外,还可以采用其它约束方式来减少搜索的范围和确定正确的对应成像点,如相容性约束、唯一性约束、连续性约束、形状连续性约束、偏差梯度约束等。较佳地,根据两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定目标物体与成像平面之间的距离,包括根据以下公式确定目标物体与成像平面之间的距离Z Z = fXd/D其中,f为两摄像头的焦距,d为两摄像头的光心的横向距离,D为两个成像点在像平面坐标系的横向坐标值之差。这里,f可以为校准后的两摄像头相同的焦距、如图2所示,为本发明实施例两摄像头测距的立体示意图,图中,
P为目标物体,这里用一个大圆点来表示该目标物体;Z为需要确定的目标物体到两摄像头成像平面的距离,近似为两摄像头所属终端到目标物体的距离;f为两摄像头的焦距,S卩,通过立体校准,使两摄像头焦距同为f,该焦距与所需测量的距离成反比例关系;(xt, yt)和(\,yr)分别为两摄像头的像平面坐标系;0t、分别为两摄像头的光心,可作为两摄像头的摄像头坐标系的原点; Pt、A分别为目标物体P在两个摄像头的成像像平面中的成像视图,这里用一个小圆点来表示成像视图;X、Y为世界坐标系的横、纵坐标轴,世界坐标系的原点为其中一个摄像头的光心Ot;(c;, c;)和(c/,cyr)分别为两摄像头的光轴与成像平面的交点,也即两个像平面坐标系的原点坐标,可通过立体校准,使得这两个原点坐标相对各自的摄像头坐标系原点坐标值的偏移量相同,也即使得这两个原点坐标在数值上相等;d为上述所指的两摄像头光心的横向距离,即两摄像头的凸透镜光心的横向距离,与所需测量的距离成正比例关系。如图3所示,为本发明实施例两摄像头测距的平面示意图,图中的Xt和f分别为两摄像头在各自的像平面坐标系中的横坐标值。X1^PXt的差值即为上述公式中的D,与所需测量的距离成反比例关系。如图4所示,为本发明实施例利用手机前后摄像头测距方法流程图,包括S401 :确定前后两摄像头的焦距、两摄像头的像平面坐标系原点(C^Cyt)和(c/,cyr)、及两摄像头的光心的横向距离d,并对两摄像头进行立体校准,使两摄像头光轴平行,且使cxt和C/、C;和c/相同,使两摄像头焦距相同,同为f。S402 :犾取如后摄像头拍摄目标物体的两个成像视图,其中,如后摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;较佳地,当其中一个摄像头拍摄完目标物体后,记录下拍摄时手机的位置,当另一个摄像头进行拍摄时,比较另一个摄像头拍摄时手机的位置与之前记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户拍摄位置不准确,重新调整拍摄位置;这里,由于利用手机前后摄像头无法同时拍摄目标物体,需要前后摄像头分别进行拍摄,比如首先用手机前置摄像头拍摄,之后,再用后置摄像头拍摄,为了保证最终距离测量的准确性,两摄像头拍摄时光心的横向距离必须保持不变,也即,先后拍摄时手机的位置需要一致,这里,可以利用手机指南针对手机位置进行监测,当前置摄像头拍摄完目标物体后,手机指南针记录下拍摄时手机的位置,当后置摄像头进行拍摄时,比较后置摄像头拍摄时手机的位置与之前手机指南针记录的位置是否一致,若一致,则提示用户进行拍摄,否贝U,提示用户位置不准确,重新调整拍摄位置。S403 :确定两个成像视图上的目标物体的同一点对应的成像点。S404 :确定两成像点在像平面坐标系的横向坐标值之差D。S405 :根据以下公式确定目标物体与成像平面之间的距离Z Z = fXd/D。
基于同一发明构思,本发明实施例中还提供了一种与测距方法对应的测距装置,由于该装置解决问题的原理与本发明实施例测距方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。如图5所示,为本发明实施例提供的测距装置结构图,包括获取模块51,用于获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得到,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;第一确定模块52,用于确定所述两个成像视图上的所述目标物体的同一点对应的成像点;第二确定模块53,用于根据所述两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离。较佳地,两摄像头为同一终端拍摄方向相反的摄像头。较佳地,两摄像头为终端的前置摄像头和后置摄像头;获取模块51还用于当其中一个摄像头拍摄完目标物体后,记录下拍摄时终端的位置,当另一个摄像头进行拍摄时,比较另一个摄像头拍摄时终端的位置与之前记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户拍摄位置不准确,重新调整拍摄位置。较佳地,该装置还包括校准模块54,用于确定两摄像头的焦距、两摄像头的像平面坐标系原点相对于摄像头坐标系原点的横纵坐标值偏移量、及两摄像头的光心的横向距离,并对所述两摄像头进行立体校准,使两摄像头光轴平行,且使两摄像头的焦距及所述横纵坐标值偏移量相同。较佳地,第一确定模块52具体用于,确定一个成像视图上对应所述目标物体一点的成像点所在的对极线;确定所述对极线在另一个成像视图上对应的对极线;从确定的所述对应的对极线上寻找所述目标物体一点在所述另一个成像视图上的成像点。较佳地,第二确定模块53具体用于,根据以下公式确定所述目标物体与所述成像平面之间的距离Z Z = fXd/D其中,f为两摄像头的焦距,d为两摄像头的光心的横向距离,D为两个成像点在像平面坐标系的横向坐标值之差。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种测距方法,其特征在于,该方法包括 获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得至IJ,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面; 确定所述两个成像视图上的所述目标物体的同一点对应的成像点; 根据所确定的两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离。
2.如权利要求I所述的方法,其特征在于,所述两摄像头为同一终端拍摄方向相反的摄像头。
3.如权利要求2所述的方法,其特征在于,所述两摄像头为所述终端的前置摄像头和后置摄像头; 获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得至IJ,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面,包括 当其中一个摄像头拍摄完目标物体后,记录下拍摄时终端的位置,当另一个摄像头进行拍摄时,比较另一个摄像头拍摄时终端的位置与之前记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户拍摄位置不准确,重新调整拍摄位置。
4.如权利要求I所述的方法,其特征在于,获取含有目标物体的两个成像视图之前,还包括 确定两摄像头的焦距、两摄像头的像平面坐标系原点相对于摄像头坐标系原点的横纵坐标偏移量、及两摄像头的光心的横向距离,并对所述两摄像头进行立体校准,使两摄像头光轴平行,且使两摄像头的焦距及所述横纵坐标偏移量相同。
5.如权利要求I所述的方法,其特征在于,确定所述两个成像视图上的所述目标物体的同一点对应的成像点,包括 确定一个成像视图上对应所述目标物体一点的成像点所在的对极线; 确定所述对极线在另一个成像视图上对应的对极线; 从确定的所述对应的对极线上寻找所述目标物体一点在所述另一个成像视图上的成像点。
6.如权利要求I至5任一所述的方法,其特征在于,根据所述两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定目标物体到所述成像平面的距离,包括 根据以下公式确定所述目标物体与所述成像平面之间的距离Z Z = fXd/D 其中,f为两摄像头的焦距,d为两摄像头的光心的横向距离,D为两个成像点在像平面坐标系的横向坐标值之差。
7.一种测距装置,其特征在于,包括 获取模块,用于获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得到,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面; 第一确定模块,用于确定所述两个成像视图上的所述目标物体的同一点对应的成像占. 第二确定模块,用于根据所确定的两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离。
8.如权利要求7所述的装置,其特征在于,所述两摄像头为同一终端拍摄方向相反的摄像头。
9.如权利要求8所述的装置,其特征在于,所述两摄像头为所述终端的前置摄像头和后置摄像头; 所述获取模块还用于 当其中一个摄像头拍摄完目标物体后,记录下拍摄时终端的位置,当另一个摄像头进行拍摄时,比较另一个摄像头拍摄时终端的位置与之前记录的位置是否一致,若一致,则提示用户进行拍摄,否则,提示用户拍摄位置不准确,重新调整拍摄位置。
10.如权利要求7所述的装置,其特征在于,所述装置还包括 校准模块,用于确定两摄像头的焦距、两摄像头的像平面坐标系原点相对于摄像头坐标系原点的横纵坐标值偏移量、及两摄像头的光心的横向距离,并对所述两摄像头进行立体校准,使两摄像头光轴平行,且使两摄像头的焦距及所述横纵坐标值偏移量相同。
11.如权利要求7所述的装置,其特征在于,所述第一确定模块具体用于 确定一个成像视图上对应所述目标物体一点的成像点所在的对极线; 确定所述对极线在另一个成像视图上对应的对极线; 从确定的所述对应的对极线上寻找所述目标物体一点在所述另一个成像视图上的成像点。
12.如权利要求7至11任一所述的装置,其特征在于,所述第二确定模块具体用于 根据以下公式确定所述目标物体与所述成像平面之间的距离Z, Z = fXd/D 其中,f为两摄像头的焦距,d为两摄像头的光心的横向距离,D为两个成像点在像平面坐标系的横向坐标值之差。
全文摘要
本发明实施例涉及移动通信技术领域,尤其涉及一种测距方法及装置,用以解决现有测距中存在测量成本较高,且易受环境干扰的问题,本发明实施例测距方法包括获取含有目标物体的两个成像视图,其中所述两个成像视图由两个不同摄像头拍摄得到,两摄像头的光心在横向上间隔设定的距离,且不同摄像头的成像平面在同一个平面;确定所述两个成像视图上的所述目标物体的同一点对应的成像点;根据所述两个成像点在像平面坐标系的横向坐标值之差、两摄像头的光心的横向距离和两摄像头的焦距,确定所述目标物体到所述成像平面的距离,从而可以利用具备两摄像头的终端测距,测量成本较低,且不易受环境干扰。
文档编号G01C11/00GK102980556SQ20121050041
公开日2013年3月20日 申请日期2012年11月29日 优先权日2012年11月29日
发明者石新明, 底浩, 吴正海 申请人:北京小米科技有限责任公司