基于自填零枝切法的三维立体重构方法、系统和存储介质与流程

文档序号:18944652发布日期:2019-10-23 01:27阅读:196来源:国知局
基于自填零枝切法的三维立体重构方法、系统和存储介质与流程

本发明涉及信息处理技术,尤其是一种基于自填零枝切法的三维立体重构方法、系统和存储介质。



背景技术:

近年来,随着软硬件的发展,三维重构技术得到广泛运用。当前三维重构技术主要应用的方法是结构光法、特征点法。其中结构光法中使用到的算法有枝切法、傅里叶频移法等。

通常在三维立体重构的场景中,所得到的很多图像都包含大片背景区域,进行物体重构时所截取下来的物体图像也会包含背景区域。现有的傅里叶频移法会将物体以及背景一起进行相位去包裹进行三维重构,极大降低其处理速度;同时,当物体形状比较复杂或体积比较大时,误差区域大、重构会发生突变,导致处理精度低。而现有的枝切法,通常需要先寻找残差点、设置枝切线、对选定相位区域进行相位展开。其中,相位展开要求操作者人工选取图片上的一个像素点进行相位展开,展开方法是围绕该像素点一圈一圈地去包裹,并且每次去包裹时要判断周围是否有残差点,因此处理过程非常繁琐,导致处理速度非常慢。



技术实现要素:

有鉴于此,为了解决上述技术问题,本发明的目的是提供具有处理速度快、处理精度高的基于自填零枝切法的三维立体重构方法、系统和存储介质。

本发明采用的技术方案是:基于自填零枝切法的三维立体重构方法,包括以下步骤:

获得物体的初始相位值;

基于枝切法,根据初始相位值对预备图像进行填零处理;

对填零处理的结果进行去包裹运算,得到物体的真实相位值;

根据真实相位值进行三维立体重构。

进一步,所述获得物体的初始相位值的步骤中,包括以下步骤:

拍摄物体的相位图;

读取相位图中的初始图像;

对初始图像进行预处理,所述预处理包括:畸变矫正处理和滤波处理;

对预处理后的初始图像进行相位解调,获得物体的初始相位值。

进一步,所述基于枝切法,根据初始相位值对预备图像进行填零处理的步骤中,包括以下步骤:

根据初始相位值寻找记录残差点且设置枝切线;

根据残差点和枝切线对预备图像的像素点进行填零处理,得到处理结果。

进一步,所述根据残差点和枝切线对预备图像的像素点进行填零处理,得到处理结果的步骤中,包括以下步骤:

生成预备图像;

对预备图像进行边缘残差点标记,得到标记结果;

根据标记结果,对预备图像的像素点进行第一处理,得到第一处理结果;

根据第一处理结果和初始相位值进行第二处理,得到处理结果;

其中,边缘残差点包括:任一行像素点中最左边的残差点和/或最右边的残差点。

进一步,所述对预备图像进行边缘残差点标记,得到标记结果的步骤中,包括以下步骤:

根据初始相位值每一行的边缘残差点所在的位置,对预备图像的每一行对应位置进行边缘残差点标记,得到标记结果。

进一步,所述根据标记结果,对预备图像的像素点进行第一处理,得到第一处理结果的步骤中,包括以下步骤:

对预备图像进行逐行扫描;

当任一行的边缘残差点个数为0或1时,将该行的所有像素点赋值为零,得到第一处理结果;

当任一行的边缘残差点个数为2时,将该行第一区域的像素点赋值为零,以及将该行第二区域的像素点赋值为零,得到第一处理结果。

进一步,所述根据第一处理结果和初始相位值,进行第二处理,得到处理结果的步骤中,其具体为:

在预备图像上填入初始相位值,得到处理结果。

本发明还提供,基于自填零枝切法的三维立体重构系统,包括:

获取模块,用于获得物体的初始相位值;

填零模块,用于基于枝切法,根据初始相位值对预备图像进行填零处理;

运算模块,用于对填零处理的结果进行去包裹运算,得到物体的真实相位值;

重构模块,用于根据真实相位值进行三维立体重构。

本发明还提供,基于自填零枝切法的三维立体重构系统,包括:

至少一处理器;

至少一存储器,用于存储至少一程序;

当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述基于自填零枝切法的三维立体重构方法。

本发明还提供,存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述基于自填零枝切法的三维立体重构方法。

本发明的有益效果是:本发明基于枝切法,根据初始相位值对预备图像进行填零处理,对填零处理的结果进行去包裹运算,得到物体的真实相位值,自动选择包围区域进行去包裹运算实现相位展开,不需要人工选择和绕像素点一圈一圈地去包裹和进行多次判断周围是否有残差点,处理速度快且处理精度高。

附图说明

图1为本发明基于自填零枝切法的三维立体重构方法的步骤流程示意图;

图2为本发明具体实施例的步骤流程示意图;

图3本发明相位去包裹的步骤流程示意图;

图4为本发明残差点计算示意图;

图5为本发明填零处理的步骤流程示意图;

图6为本发明基于自填零枝切法的三维立体重构系统的结构框图。

具体实施方式

下面结合说明书附图和具体实施例对本发明作进一步解释和说明。对于本发明实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。

如图1所示,基于自填零枝切法的三维立体重构方法,包括以下步骤:

获得物体的初始相位值;

基于枝切法,根据初始相位值对预备图像进行填零处理;

对填零处理的结果进行去包裹运算,得到物体的真实相位值;

根据真实相位值进行三维立体重构。

在本实施例中,去包裹运算指的是去包裹公式运算。

如图2所示,进一步作为优选的实施方式,所述获得物体的初始相位值的步骤中,包括以下步骤:

拍摄物体的相位图;

读取相位图中的初始图像;

对初始图像进行预处理,所述预处理包括:畸变矫正处理和滤波处理;

对预处理后的初始图像进行相位解调,获得物体的初始相位值。

在本实施例中,连续拍摄四张相位图,具体方法为:通过投影仪投影光栅条纹图片在物体上,用相机连续拍摄四张不同的相位相片。将四张不同的相位相片传输于电脑中,读取相片中的初始图像。由于相机拍摄的相片会存在畸变和干扰,因此需要对初始图像进行预处理,具体包括:畸变矫正处理和滤波处理,畸变矫正处理用于对相片进行校正;滤波处理用于过滤周围环境的干扰,如杂光等。对预处理后的初始图像进行相位解调的具体方法为:对读取的四张初始图像进行计算机处理,计算出物体的初始相位值,而实际上通过相位解调后得出的为一张相位解调后的图片,该图片上具有多个初始相位值,或者说该图片由多个初始相位值组成。

如图3所示,进一步作为优选的实施方式,所述基于枝切法,根据初始相位值对预备图像进行填零处理的步骤中,包括以下步骤:

根据初始相位值寻找记录残差点且设置枝切线;

根据残差点和枝切线对预备图像的像素点进行填零处理,得到处理结果。

在本实施例中,根据图片的初始相位值寻找残差点,根据残差点设置枝切线,具体地,包括以下步骤:

1)如图4所示,寻找记录残差点:残差点定义为:或-1,

其中,δi代表相位差,n代表行,m代表列;

2)设置枝切线:将残差点为1和-1的像素点连接起来,其中,连接线经过的像素点均被标记为1。

根据残差点和枝切线对预备图像的像素点进行填零处理,得到处理结果。

进一步作为优选的实施方式,所述根据残差点和枝切线对预备图像的像素点进行填零处理,得到处理结果的步骤中,包括以下步骤:

生成预备图像;

对预备图像进行边缘残差点标记,得到标记结果;

根据标记结果,对预备图像的像素点进行第一处理,得到第一处理结果;

根据第一处理结果和初始相位值进行第二处理,得到处理结果;

其中,边缘残差点包括:任一行像素点中最左边的残差点和/或最右边的残差点。

进一步作为优选的实施方式,所述对预备图像进行边缘残差点标记,得到标记结果的步骤中,包括以下步骤:

根据初始相位值每一行的边缘残差点所在的位置,对预备图像的每一行对应位置进行边缘残差点标记,得到标记结果。

如图5所示,在本实施例中,填零处理包括以下几个步骤:

1)生成预备图像:通过计算机生成一张与拍摄照片大小相同的灰色图片;

2)标记边缘残差点:计算机自动寻找相位解调后的图片内(初始相位值)每一行中最左边的残差点,并标记为1,每一行最右边的残差点标记为-1,即为:

其中,y为行数的集合,根据相位解调后的图片(初始相位值)每一行的边缘残差点所在的位置,对预备图像的每一行对应位置进行边缘残差点标记,得到标记结果。

3)第一处理;

4)第二处理。

进一步作为优选的实施方式,所述根据标记结果,对预备图像的像素点进行第一处理,得到第一处理结果的步骤中,包括以下步骤:

对预备图像进行逐行扫描;

当任一行的边缘残差点个数为0或1时,将该行的所有像素点赋值为零,得到第一处理结果;

当任一行的边缘残差点个数为2时,将该行第一区域的像素点赋值为零,以及将该行第二区域的像素点赋值为零,得到第一处理结果。

在本实施例中,第一处理为计算机自动填零,具体地,计算机根据标记结果,即根据已经进行边缘残差点标记后的预备图像进行逐行扫描:当扫描到任一行的边缘残差点个数为0或1时,将该行的所有像素点赋值为零,得到第一处理结果;当扫描到任一行的边缘残差点个数为2时,即同时具有值为1的最左边的残差点和值为-1的最右边的残差点,将该行第一区域的像素点赋值为零,以及将该行第二区域的像素点赋值为零,得到第一处理结果,其中第一区域指的是值为1的最左边的残差点前面(或左面)的所有像素点所在的区域,第二区域指的是值为-1的最右边的残差点后面(或右面)的所有像素点所在的区域。

进一步作为优选的实施方式,所述根据第一处理结果和初始相位值,进行第二处理,得到处理结果的步骤中,其具体为:

在预备图像上填入初始相位值,得到处理结果。

在本实施例中,第二处理指的是在经过第一处理后的预备图像上的非零区域(即未被赋值为零的区域)填入初始相位值,得到处理结果,即填零处理的结果,此时预备图像已经完全除去背景噪音和杂光的影响。

在本实施例中,在得到填零处理的结果后,通过去包裹公式运算,得到物体的真实相位值,运算的公式如下:

其中,k0=0,为相位解调后的值,为去包裹后的值,i代表图像中的第几个像素点标号。

得到后,经过计算机处理储存在文件内,该文件内信息即为真实相位信息(真实相位值);根据物体表面的真实相位信息(真实相位值)对物体高度信息进行还原,实现三维立体重构功能。

如图6所示,本发明还提供,基于自填零枝切法的三维立体重构系统,包括:

获取模块,用于获得物体的初始相位值;

填零模块,用于基于枝切法,根据初始相位值对预备图像进行填零处理;

运算模块,用于对填零处理的结果进行去包裹运算,得到物体的真实相位值;

重构模块,用于根据真实相位值进行三维立体重构。

上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

本发明还提供,基于自填零枝切法的三维立体重构系统,包括:

至少一处理器;

至少一存储器,用于存储至少一程序;

当所述至少一程序被所述至少一处理器执行,使得所述至少一处理器实现所述基于自填零枝切法的三维立体重构方法。

上述方法实施例中的内容均适用于本系统实施例中,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法实施例所达到的有益效果也相同。

综上所述,相较于现有技术,本发明基于自填零枝切法的三维立体重构方法具有以下优点:

1)、基于枝切法,根据初始相位值对预备图像进行填零处理,进行去包裹运算,自动选择包围区域进行去包裹运算实现相位展开,自动标记枝切线的外围轮廓而不需要人工选择,处理速度快、效率高。

2)、通过填零处理中的第一处理,直接迅速对相位逐行逐列进行相位去包裹,无需绕像素点一圈一圈地去包裹和进行多次判断周围是否有残差点,处理速度快且处理精度高。

3)、对初始图像进行预处理,能校正相机拍摄的照片存在的畸变和消除周围环境杂光的干扰。

在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。

此外,虽然在功能性模块的背景下描述了本发明并且采用方块图的形式举例说明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。

本发明还提供,存储介质,存储有处理器可执行的指令,处理器执行所述处理器可执行的指令时执行所述基于自填零枝切法的三维立体重构方法。

同样可见,上述方法实施例中的内容均适用于本存储介质实施例中,实现的功能和有益效果与方法实施例相同。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。

计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

在本说明书的描述中,参考术语“一个实施例”、“本实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1