本发明涉及结构光领域,尤其涉及一种结构光模组的旋转aa方法、装置及可读存储介质。
背景技术:
随着苹果公司首次在手机上使用结构光技术,在智能终端上使用结构光模组来作人脸识别、3d感测等将会是主流的发展方向。结构光模组包括结构光投影器和结构光摄像头,所述结构光投影器用于向被摄物投射经过编码的结构光,所述结构光摄像头用于向被摄物拍摄获取结构光图像,后端的图像处理器再依据图像算法对结构光图像进行解码,得到被摄物的深度信息。
理论上,所述结构光投影器的发光轴和所述结构光摄像头的进光轴之间应该相平行,但是由于制作公差和设计误差等原因,所述结构光模组不可避免会存在倾斜问题,在对结构光模组的倾斜问题进行aa纠正之后,还发现存在旋转问题,即所述结构光投影器的发光轴和所述结构光摄像头的进光轴之间存在一个相对的旋转角度。
技术实现要素:
为了解决上述现有技术的不足,本发明提供一种结构光模组的旋转aa方法、装置及可读存储介质。该旋转aa方法可以纠正所述结构光模组中的结构光投影器的发光轴和结构光摄像头的进光轴之间的旋转角度。
本发明所要解决的技术问题通过以下技术方案予以实现:
一种结构光模组的旋转aa方法,结构光模组包括结构光投影器和结构光摄像头,步骤包括:
步骤1:将所述结构光投影器向投影平面上投射结构光斑,将所述结构光摄像头向投影平面上拍摄获取结构光图像,其中,所述结构光投影器的发光面和所述结构光摄像头的感光面均平行于所述投影平面;
步骤2:在获取的结构光图像中,计算出结构光斑的0级衍射直线与结构光图像的图像边缘直线之间的夹角;
步骤3:固定所述结构光投影器或结构光摄像头,依据计算出的夹角旋转所述结构光摄像头或结构光投影器,纠正所述结构光投影器的发光轴和所述结构光摄像头的进光轴之间的相对旋转。
进一步地,步骤2包括:
步骤2.1:计算出0级衍射直线;
步骤2.2:计算出的0级衍射直线与图像边缘直线之间的夹角。
进一步地,步骤2.1包括:
步骤2.1.1:对结构光图像进行二值化,形成二值化图像;
步骤2.1.2:在二值化图像中,计算出0级二值化直线;
步骤2.1.3:在结构光图像中,确定距离0级二值化直线一定距离的光斑亮点集合;
步骤2.1.4:对确定的光斑亮点集合进行直线拟合,计算出0级衍射直线。
进一步地,步骤2.1.1包括:
步骤2.1.1.1:在结构光图像中,抓取结构光斑的0级衍射点;
步骤2.1.1.2:以0级衍射点为中心,按预设的长宽尺寸提取一取值区域;
步骤2.1.1.3:计算出取值区域的亮度阈值;
步骤2.1.1.4:依据计算出的亮度阈值,对结构光图像进行二值化,形成二值化图像。
进一步地,在步骤2.1.1.3中,采用迭代阈值法计算出取值区域的亮度阈值。
进一步地,步骤2.1.2包括:
步骤2.1.2.1:在二值化图像中,确定0级二值化区域的二值化亮点集合;
步骤2.1.2.2:对确定的二值化亮点集合进行直线拟合,计算出0级二值化直线。
进一步地,在步骤2.1.2.1中,确定二值化亮点集合之前,先对二值化图像进行图像膨胀和图像腐蚀。
进一步地,在步骤2.1.4中,进行直线拟合之前,先通过四通道区域或八通道区域筛选掉光斑亮点集合中的小亮块。
一种结构光模组的旋转aa装置,包括处理器和与所述处理器电气连接的存储器,所述存储器内储存有工所述处理器执行的计算机程序,所述处理器执行该计算机程序时,进行上述的结构光模组的旋转aa方法中的步骤2。
一种可读存储介质,其储存有供处理器执行的计算机程序,该计算机程序被所述处理器执行时,进行上述的结构光模组的旋转aa方法中的步骤2。
本发明具有如下有益效果。
附图说明
图1为本发明提供的结构光模组的旋转aa方法的步骤框图;
图2为本发明提供的结构光模组的旋转aa的检测平台的示意图;
图3为结构光摄像头拍摄获取的结构光图像的示意图;
图4为图3所示的结构光图像中的方框区域的放大示意图;
图5为图3所示的结构光图像二值化后的二值化图像的示意图;
图6为图3所示的结构光图像中的方框区域的二值化示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的说明。
实施例一
如图1所示,一种结构光模组的旋转aa方法,结构光模组包括结构光投影器101和结构光摄像头102,步骤包括:
步骤1:如图2所示,将所述结构光投影器101向投影平面103上投射结构光斑105,将所述结构光摄像头102向投影平面103上拍摄获取如图3和4所示的结构光图像104,其中,所述结构光投影器101的发光面和所述结构光摄像头102的感光面均平行于所述投影平面103;
在该步骤1中,所述结构光摄像头102连接至旋转aa装置,所述旋转aa装置在读取所述结构光图像104后通过内置的旋转aa算法来计算出所述结构光投影器101的发光轴和所述结构光摄像头102的进光轴之间的相对旋转角度。
所述投影平面103可以但不限于为投影幕布,所述旋转aa装置可以但不限于为个人电脑。
步骤2:在获取的结构光图像104中,计算出结构光斑105的0级衍射直线1051与结构光图像104的图像边缘直线之间的夹角;
在该步骤2中,所述0级衍射直线1051对应于所述结构光投影器101的0级衍射光栅,表现为所述结构光斑105中亮度值最大的一条直线;所述0级衍射直线1051上具有一0级衍射点1052,所述0级衍射点1052对应于所述结构光投影器101的光心,表现为所述结构光斑105中亮度值最大的像素点。
该步骤2具体包括:
步骤2.1:计算出0级衍射直线1051;
该步骤2.1具体包括:
步骤2.1.1:对结构光图像104进行二值化,形成如图5和6所示的二值化图像104a;
在二值化处理中,依据亮度阈值,在所述结构光图像104中,将亮度值大于亮度阈值的所有像素点的亮度值均设置为255,形成二值化亮点,将亮度值小于亮度阈值的所有像素点的亮度值均设置为0,形成二值化暗点。在二值化图像104a中,原本的0级衍射直线1051所在的区域会形成一细长条形的0级二值化区域。
该步骤2.1.1具体包括:
步骤2.1.1.1:在结构光图像104中,抓取结构光斑105的0级衍射点1052;
该步骤2.1.1.1中,所述0级衍射点1052可通过比较亮度值或图像二值化来抓取,此为现有算法,不做详细阐述。
步骤2.1.1.2:以0级衍射点1052为中心,按预设的长宽尺寸提取一取值区域;
在该步骤2.1.1.2中,所述取值区域的长宽尺寸需依据所述0级衍射点1052的具体倾斜角度而定,倾斜角度越大,所述取值区域的长宽尺寸越小,倾斜角度越小,所述取值区域的长宽尺寸越大。
步骤2.1.1.3:计算出取值区域的亮度阈值;
在该步骤2.1.1.3中,采用迭代阈值法计算出取值区域的亮度阈值。
步骤2.1.1.4:依据计算出的亮度阈值,对结构光图像104进行二值化,形成二值化图像104a。
步骤2.1.2:在二值化图像104a中,计算出0级二值化直线1051a;
在该步骤2.1.2中,所述0级二值化直线1051a指的是细长条形的0级二值化区域的直线方程。
该步骤2.1.2具体包括:
步骤2.1.2.1:在二值化图像104a中,确定0级二值化区域的二值化亮点集合;
在所述二值化图像104a中,除0级二值化区域之外,基本上其他区域都是亮度值为0的二值化暗点,因此,可以直接将所有亮度值为255的二值化亮点视为所述0级二值化区域的二值化亮点集合。
优选地,在该步骤2.1.2.1中,确定二值化亮点集合之前,先对二值化图像104a进行图像膨胀和图像腐蚀。图像膨胀和图像腐蚀能够去掉大量离散的二值化亮点和二值化暗点,使得到的二值化亮点集合的集中度更高。
步骤2.1.2.2:对确定的二值化亮点集合进行直线拟合,计算出0级二值化直线1051a。
在该步骤2.1.2.2中,直接采用直线拟合算法就可以得出所述0级二值化直线1051a。
步骤2.1.3:在结构光图像104中,确定距离0级二值化直线1051a一定距离的光斑亮点集合;
在该步骤2.1.3中,从原结构光图像104中选取距离所述0级二值化直线1051a一定距离(比如5个像素点内)的光斑亮点形成所述光斑亮点集合。
步骤2.1.4:对确定的光斑亮点集合进行直线拟合,计算出0级衍射直线1051。
在步骤2.1.4中,进行直线拟合之前,先通过四通道区域或八通道区域筛选掉光斑亮点集合中的小亮块,所述结构光斑105中也会存在一些离散的光斑亮点,这些离散的光斑亮点可以视为孤立点,筛选掉这些离散的光斑亮点形成一些小亮块可以提高所述0级衍射直线1051的拟合精度。
步骤2.2:计算出的0级衍射直线1051与图像边缘直线之间的夹角。
步骤3:固定所述结构光投影器101或结构光摄像头102,依据计算出的夹角旋转所述结构光摄像头102或结构光投影器101,纠正所述结构光投影器101的发光轴和所述结构光摄像头102的进光轴之间的相对旋转。
在该步骤3中,以所述结构光投影器101的中心发光轴作为旋转轴,旋转所述结构光投影器101,或者,以所述结构光摄像头102的中心进光轴作为旋转轴,旋转所述结构光摄像头102。
该旋转aa方法通过在结构光图像104中,计算所述结构光斑105的0级衍射直线1051与图像边缘之间的夹角来检测所述结构光模组中的结构光投影器101和结构光摄像头102之间的光轴相对旋转角度,以消除所述结构光投影器101的发光轴和所述结构光摄像头102的进光轴之间的相对旋转。
实施例二
一种结构光模组的旋转aa装置,包括处理器和与所述处理器电气连接的存储器,所述存储器内储存有工所述处理器执行的计算机程序,所述处理器执行该计算机程序时,进行实施例一中所述的结构光模组的旋转aa方法中的步骤2。
实施例三
一种可读存储介质,其储存有供处理器执行的计算机程序,该计算机程序被所述处理器执行时,进行实施例一中所述的结构光模组的旋转aa方法中的步骤2。
以上所述实施例仅表达了本发明的实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制,但凡采用等同替换或等效变换的形式所获得的技术方案,均应落在本发明的保护范围之内。