本发明涉及结构光领域,尤其涉及测试用结构光摄像头的平行度检测方法、装置及可读存储介质。
背景技术:
随着苹果公司在智能终端上使用faceid技术,采用结构光模组来做人脸识别、3d感测和vr设备等将会成为未来的主流。结构光模组主要包括结构光投影器和结构光摄像头,结构光投影器负责向被摄物体投射结构光斑斑,结构光摄像头负责对被投射到被摄物体上的结构光斑进行拍摄获取结构光图像,然后,后端处理器通过处理算法来解析拍摄到的结构光图像,以获取被摄物体的三维数据。
在结构光投影器生产完成后,厂家需要对结构光投影器的光学性能进行检测,以筛选不良品,在搭建检测平台时,需要将待测结构光投影器放置在一透光平面的前方,将测试用结构光摄像头放置在透光平面的后方,待测结构光投影器向透光平面的正面投射结构光斑斑,测试用结构光摄像头向透光平面的背面拍摄获取结构光图像,再通过计算机算法来对获取的结构光图像进行解析,以得到待测结构光投影器的fov、0级倾斜、解析力、畸变等数据。
在检测过程中,测试用结构光摄像头和透光平面之间的平行度对计算出的检测数据的精准程度具有重要影响,因此有必要在对待测结构光投影器进行检测前,先检测出测试用结构光摄像头和透光平面之间的平行度,供技术人员将测试用结构光摄像头的倾斜角度纠正,以保证测试用结构光摄像头的感光面与透光平面之间相平行。
技术实现要素:
为了解决上述现有技术的不足,本发明提供一种测试用结构光摄像头的平行度检测方法、装置及可读存储介质。该平行度检测方法可以检测出测试用结构光摄像头和透光平面之间的平行度,以方便技术人员在对待测结构光投影器进行光学检测之前,先将测试用结构光摄像头的倾斜角度纠正。
本发明所要解决的技术问题通过以下技术方案予以实现:
一种测试用结构光摄像头的平行度检测方法,包括:
步骤1:将结构光投影器放置在透光平面的前方,将测试用结构光摄像头放置在透光平面的后方,所述透光平面上贴合有一透光标定图;
步骤2:结构光投影器向所述透光平面上的透光标定图投射结构光斑,测试用结构光摄像头向所述透光平面上的透光标定图拍摄,获取标定图像;
步骤3:依据获取的标定图像,计算出测试用结构光摄像头的感光面和透光标定图之间的夹角,作为测试用结构光摄像头的感光面和透光平面之间的夹角。
进一度,步骤3包括:
步骤3.1:以测试用结构光摄像头的感光面为xy平面,建立三维直角坐标系xyz;
步骤3.2:依据在透光标定图上选取的构成多边形的至少三个标定点的坐标,计算透光标定图的平面方程;
步骤3.3:依据计算出的平面方程,计算测试用结构光摄像头的感光面和透光标定图之间的夹角。
进一度,在步骤3.1中,以测试用结构光摄像头的中心光轴作为三维直角坐标系xyz的z轴。
进一度,步骤3.2包括:
步骤3.2.1:在透光标定图上选取构成多边形的至少三个标定点,第i标定点对应于测试用结构光摄像头的感光面上的第i′像素点的坐标值为(x′i,y′i,0);
步骤3.2.2:测量透光标定图中第a标定点到测试用结构光摄像头的镜头光心的距离ha,计算出第a标定点的坐标值(xa,ya,za)为:
其中,(xo,yo,0)为测试用结构光摄像头的感光面中心坐标,(x′a,y′a,0)为第a′像素点的坐标,ha为第a′像素点到镜头光心的距离,且满足
步骤3.2.3:计算第i标定点的x坐标值和y坐标值为
其中,(xi,yi,zi)为第i标定点的坐标,(x′b,y′b,0)为第i′像素点的坐标,hi为第i′像素点到镜头光心的距离,zi未知;
步骤3.2.4:依据任意另外两个标定点与第a标定点之间所构成的三角形的边与角的关系建立方程组,计算出另外两个标定点的z坐标值;
步骤3.2.5:依据第a标定点的坐标与另外两个标定点的坐标,计算出透光标定图的平面方程。
进一度,在步骤3.2.4中,假设另外两个标定点分别为第b标定点和第c标定点,则构成方程组
进一度,在步骤3.2.5中,采用最小二乘法拟合获取透光标定图的平面方程z=a*x+b*y+c,令
进一度,步骤3.3包括:
步骤3.3.1:在平面方程z=a*x+b*y+c中任意取三个点(x1,y1,z1)、(x2,y2,z2)和(x3,y3,z3),计算出透光标定图与坐标系xyz的x轴的夹角和y轴的夹角分别为
进一步地,所述透光平面为半透明幕布。
一种测试用结构光摄像头的平行度检测装置,包括处理器和与所述处理器连接的存储器,所述存储器内储存有供所述处理器执行的计算机程序,所述处理器执行该计算机程序时,进行权利要求1-8中任一所述的测试用结构光摄像头的平行度检测方法中的步骤3。
一种可读存储介质,储存有供处理器执行的计算机程序,该计算机程序被所述处理器执行时,进行权利要求1-8中任一所述的测试用结构光摄像头的平行度检测方法中的步骤3。
本发明具有如下有益效果:该平行度检测方法可以检测出测试用结构光摄像头和透光平面之间的平行度,以方便技术人员在对待测结构光投影器进行光学检测之前,先纠正测试用结构光摄像头的倾斜。
附图说明
图1为本发明提供的平行度检测方法的步骤框图;
图2为本发明提供的平行度检测平台的示意图;
图3为检测过程中透光标定图、镜头和感光面之间的示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
实施例一
如图1所示,一种测试用结构光摄像头的平行度检测方法,包括:
步骤1:如图2所示,将结构光投影器101放置在透光平面100的前方,将测试用结构光摄像头102放置在透光平面100的后方,所述透光平面100上贴合有一透光标定图103;
该步骤1中,所述透光平面100可以为半透明幕布,所述透光标定图103上的标定图案可以为棋盘格图或散点图。所述结构光投影器101可以但不限于为在对测试用结构光摄像头102的倾斜进行校正后,进行光学检测的待测结构光头投影器。
步骤2:结构光投影器101向所述透光平面100上的透光标定图103投射结构光斑,测试用结构光摄像头102向所述透光平面100上的透光标定图103拍摄,获取标定图像;
在该步骤2中,平行度检测装置连接至测试用结构光摄像头102,用于在读取拍摄到的标定图像后,依据内部算法计算出测试用结构光摄像头102的感光面1021和透光标定图103之间的夹角。
步骤3:依据获取的标定图像,计算出测试用结构光摄像头102的感光面1021和透光标定图103之间的夹角,作为测试用结构光摄像头102的感光面1021和透光平面100之间的夹角。
在该步骤3中,由于所述透光标定图103是紧紧贴合在所述透光平面100上的,因此测试用结构光装置的感光面1021和透光标定图103之间的夹角,同时也测试用结构光装置的感光面1021和透光平面100之间的夹角。
该步骤3具体包括:
步骤3.1:如图3所示,以测试用结构光摄像头102的感光面1021为xy平面,建立三维直角坐标系xyz;
该步骤3.1中,为方便后续的计算,优选地以测试用结构光摄像头102的中心光轴作为三维直角坐标系xyz的z轴,即以测试用结构光装置的感光面1021中心o作为该三维直角坐标系xyz的原点。
步骤3.2:依据在透光标定图103上选取的构成多边形的至少三个标定点的坐标,计算透光标定图103的平面方程;
该步骤3.2中,由于至少三个标定点的选取是由检测人员人工选取或者由软件按预设规则自动选取的,所以选取的至少三个标定点之间所构成多边形的边与角的关系视为已知。
该步骤3.2具体包括:
步骤3.2.1:在透光标定图103上选取构成多边形的至少三个标定点,第i标定点对应于测试用结构光摄像头102的感光面1021上的第i′像素点的坐标值为(x′i,y′i,0)。
在该步骤3.2.1中,因测试用结构光摄像头102的感光面1021是由多个像素点构成的像素阵列,一旦建立三维直角坐标系xyz后,软件就可以通过“数像素点”的方式获取任意像素点的坐标值,即第i′像素点的坐标(x′i,y′i,0)是已知的。
步骤3.2.2:测量透光标定图103中第a标定点到测试用结构光摄像头102的镜头1022光心的距离ha,计算出第a标定点的坐标值(xa,ya,za)为:
其中,(xo,yo,0)为测试用结构光摄像头102的感光面1021中心o坐标,(x′a,y′a,0)为第a′像素点的坐标,ha为第a′像素点到镜头1022光心的距离,且满足
在该步骤3.2.2中,ha的测量不需要太精准,可直接采用所述透光标定图103到测试用结构光摄像头102的镜头1022光心的距离h,其中,
当然也可以在选取第a标定点时,直接选取对应于镜头1022光心的标定点,此时,ha=h,ha=h。
步骤3.2.3:计算第i标定点的x坐标值和y坐标值为
其中,(xi,yi,zi)为第i标定点的坐标,(x′b,y′b,0)为第i′像素点的坐标,hi为第i′像素点到镜头1021光心的距离,zi未知。
而
步骤3.2.4:依据任意另外两个标定点与第a标定点之间所构成的三角形的边与角的关系建立方程组,计算出另外两个标定点的z坐标值;
在该步骤3.2.4中,假设另外两个标定点分别为第b标定点和第c标定点,则第b标定点坐标(xb,yb,zb)和第c标定点的坐标(xc,yc,zc)分别为
而第b标定点和第c标定点的构成方程组为
正如前面所述,由于标定点都是由检测人员人工选取或者由软件按预设规则自动选取的,所以第a标定点、第b标定点和第c标定点之间所构成多边形的边与角的关系为已知的,即n1和n2是已知的。
为了方便计算,优选地在步骤3.2.1中选取第a标定点、第b标定点和第c标定点时,第a标定点、第b标定点和第c标定点之间构成直角三角形,第a标定点为直角点,则n1=0。
步骤3.2.5:依据第a标定点的坐标与另外两个标定点的坐标,计算出透光标定图103的平面方程。
在该步骤3.2.5中,采用最小二乘法拟合获取透光标定图103的平面方程z=a*x+b*y+c,令
步骤3.3:依据计算出的平面方程,计算测试用结构光摄像头102的感光面1021和透光标定图103之间的夹角。
该步骤3.3具体包括:
步骤3.3.1:在平面方程z=a*x+b*y+c中任意取三个点(x1,y1,z1)、(x2,y2,z2)和(x3,y3,z3),计算出透光标定图与坐标系xyz的x轴的夹角和y轴的夹角分别为
在该步骤3.3.1中计算出anglex和angley的值后,检测人员就可以依据这两个值对测试用结构光摄像头102进行旋转,以纠正测试用结构光摄像头102与透光平面100之间的倾斜,提高两者之间的平行度。
该平行度检测方法可以检测出测试用结构光摄像头102和透光平面100之间的平行度,以方便技术人员在对待测结构光投影器101进行光学检测之前,先纠正测试用结构光摄像头102的倾斜。
实施例二
一种测试用结构光摄像头的平行度检测装置,包括处理器和与所述处理器连接的存储器,所述存储器内储存有供所述处理器执行的计算机程序,所述处理器执行该计算机程序时,进行实施例一中所述的测试用结构光摄像头的平行度检测方法中的步骤3。
实施例三
一种可读存储介质,储存有供处理器执行的计算机程序,该计算机程序被所述处理器执行时,进行实施例一中所述的测试用结构光摄像头的平行度检测方法中的步骤3。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制,但凡采用等同替换或等效变换的形式所获得的技术方案,均应落在本发明的保护范围之内。