一种物体三维定位方法及摄像机
技术领域
本发明涉及一种图像处理技术领域,特别涉及一种物体三维定位方法及摄像机。
背景技术
在双目视觉中,定位物体三维的一般方法是:设图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴。首先计算出两幅平面图像中目标物体的二维坐标,然后利用三角关系计算出两幅平面图像光心和物体坐标连线即投影线的公垂线的中点,即是物体的三维坐标。
由两幅平面图像上目标物体的二维坐标,根据空间几何关系,可以计算出目标物体的X,Y,Z的三维坐标。
由于获得图像的cmos(集成在金属氧化物的半导体材料上)或CCD(集成在半导体单晶材料)传感器存在量化误差,即使使用亚像素级坐标算法,在窄基线的情况下,仍然会造成三维坐标的抖动。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种物体三维定位方法及摄像机,在硬件成本不变的基础上将三维坐标的抖动降低,同时保持X,Y方向上的反应速度。
为了达到上述目的,本发明采取了以下技术方案:
一种物体三维定位方法,包括步骤:
将至少两个图像传感器并排设置;
获取同一目标物体的至少两幅平面图像;
根据其中两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,其中:两幅平面图像中目标物体的坐标分别为(x1,y1)和(x2,y2),x1、y1、x2、y2为大于0而小于图像传感器阵列尺寸,目标物体的在X轴、Y轴、Z轴上的三维坐标为(A,B,C),图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴;
将所述C值在时域上做平均处理,得到所述平均处理后的平均值为C′;
将x1和x2的平均值乘以C′再除以焦距得到A,将y1和y2的平均值乘以C′再除以焦距得到B,得到目标物体的坐标(A,B,C′),对所述物体进行三维定位。
其中,根据两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,具体包括:C=fd/(x1-x2),其中:f为摄像机焦距,d为两镜头光心之间的距离。
其中,所述A=(x1+x2)*C′/2f,B=(y1+y2)*C′/2f。
一种摄像机,所述摄像机的至少两个图像传感器并排设置,其还包括:
图像获取单元,用于获取同一目标物体的至少两幅平面图像;
第一处理单元,用于根据其中两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,其中:两幅平面图像中目标物体的坐标分别为(x1,y1)和(x2,y2),x1、y1、x2、y2为大于0而小于图像传感器阵列尺寸,目标物体的在X轴、Y轴、Z轴上的三维坐标为(A,B,C),图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴;
第二处理单元,用于将所述C值在时域上做平均处理,得到所述平均处理后的平均值为C′;
第三处理单元,用于将x1和x2的平均值乘以C′再除以焦距得到A,将y1和y2的平均值乘以C′再除以焦距得到B,得到目标物体的坐标(A,B,C′),对所述物体进行三维定位。
其中,所述第一处理单元,用于根据两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,其中:C=fd/(x1-x2),f为摄像机焦距,d为两镜头光心之间的距离。
本发明提供一种物体三维定位方法及摄像机,设图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴,且量图像传感器延X轴方向上并排设置。只对噪声最敏感的Z轴坐标进行了时域平滑,所以在保证X和Y轴坐标反应速度的同时,降低了整个系统的抖动误差。
附图说明
图1为本发明实施例提供的物体三维定位方法的流程图;
图2为本发明实施例提供的摄像机的结构图。
具体实施方式
本发明实施例提供一种物体三维定位方法及摄像机,设图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴,且量图像传感器延X轴方向上并排设置。只对噪声最敏感的Z轴坐标进行了时域平滑,所以在保证X和Y轴坐标反应速度的同时,降低了整个系统的抖动误差。
一种物体三维定位方法,如图1所示,包括步骤:
101、将至少两个图像传感器并排设置;
在本实施例中为两个图像传感器,在其他实施例中,也可以为三个或者更多个图像传感器。可以横向并排设置,也可以纵向并排设置该传感器。
102、获取目标物体的至少两幅平面图像。
该图像数一般与图像传感器的数量相同。
103、根据其中两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,其中:两幅平面图像中目标物体的坐标分别为(x1,y1)和(x2,y2),x1、y1、x2、y2为大于0而小于图像传感器阵列尺寸,目标物体的在X轴、Y轴、Z轴上的三维坐标为(A,B,C),图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴;如传感器的像素阵列为640*480,那么该x1、x2大于0,小于640,y1、y2大于0小于480。
104、将所述C值在时域上做平均处理,得到所述平均处理后的平均值为C′;即:做目标物体的Z坐标的时域平滑处理,这样,降低了抖动噪声。
105、将x1和x2的平均值乘以C′再除以焦距得到A,将y1和y2的平均值乘以C′再除以焦距得到B,得到目标物体的(A,B,C′)坐标,对所述物体进行三维定位。即:先将x1加x2之和再除以2,得到x1和x2的平均值,然后再将该平均值乘以C′,得到的值再除以焦距得到A,同理得到B.其中:该焦距为摄像机的焦距。
本发明实施例还提供一种摄像机,所述摄像机的图像传感器并排设置,如图2所示,该摄像机还包括:
图像获取单元201,用于获取同一目标物体的至少两幅平面图像;
第一处理单元202,用于根据其中两幅平面图像中的目标物体的坐标的x1和x2的值计算出C的值,其中:两幅平面图像中目标物体的坐标分别为(x1,y1)和(x2,y2),x1、y1、x2、y2为大于0而小于图像传感器阵列尺寸,目标物体的在X轴、Y轴、Z轴上的三维坐标为(A,B,C),图像传感器成像平面与水平面的交线为X轴,图像传感器成像平面上X轴的垂线为Y轴,图像传感器成像平面的垂线为Z轴;
在本实施例中,C=fd/(x1-x2),f为摄像机焦距,d为两镜头光心之间的距离。
第二处理单元203,用于将所述C的值在时域上做平均处理,得到所述平均处理后的平均值为C′;
第三处理单元204,用于将x1和x2的平均值乘以C′再除以焦距得到A,将y1和y2的平均值乘以C′再除以焦距得到B,得到目标物体的三维坐标(A,B,C′),对所述物体进行三维定位。即:先将x1加x2之和再除以2,得到x1和x2的平均值,然后再将该平均值乘以C′,得到的值再除以焦距得到A,同理得到B.
下面详细描述上述两个实施例的应用实施例:在t时刻采集目标物体的两幅平面图像,假设两幅平面图像中目标物体的坐标分别为(X1,Y1)和(X2,Y2),目标物体的三维坐标为【X(t),Y(t),Z(t)】,为了减小噪声,
1)令Z(t)=fd/(X1-X2)。其中:f为摄像机焦距,d为两镜头光心之间的距离。
2)将Z(t)的值在时域上做平均处理,得到Z′(t),以降低抖动噪声,。
3)令X(t)=(X1+X2)*Z′(t)/2f,Y(t)=(Y1+Y2)*Z′(t)/2f。
4)则得到物体的三维坐标【X(t),Y(t),Z′(t)】。这样不仅降低了抖动噪声,降低了整个系统的抖动误差,而且,同时保证了X和Y轴坐标反应速度。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。