视差确定方法和视差确定装置与流程

文档序号:13663116阅读:395来源:国知局
视差确定方法和视差确定装置与流程

本发明涉及立体匹配技术领域,尤其涉及视差确定方法和视差确定装置。



背景技术:

在立体匹配过程中,为了确定匹配图像相对于基准图像的视差,针对基准图像中的每个像素点可以设置基准窗口,针对匹配图像中的每个像素点可以设置匹配窗口,并根据两个窗口中像素点的灰阶值确定的代价函数,然后根据在匹配图像中一定视差范围内移动匹配窗口,以确定的代价函数的值最大时对应的视差作为基准窗口中像素点的视差,进而可以确定基准图像中每个像素点的视差,从而生成视差图像。

然而目前针对基准图像中的每个像素点,在匹配图像中移动匹配窗口所选取的视差范围都是相同的,但是实际上基准图像中的每个像素点特征明显程度不同,相关技术中并没有针对不同的像素点进行区别对待以选取合适的视差范围移动匹配窗口,这就导致了确定视差的效率较低。



技术实现要素:

本发明提供视差确定方法及视差确定装置,以解决相关技术中的不足。

根据本发明实施例的第一方面,提供一种视差确定方法,包括:

基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

根据本发明实施例的第二方面,提供一种视差确定装置,包括:

二值图像确定单元,用于基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

粗匹配单元,用于根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

范围确定单元,用于根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

代价计算单元,用于根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

精匹配单元,用于将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

根据本发明实施例的第三方面,提供一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

根据本发明实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

由上述实施例可知,针对非边缘像素点,在匹配窗口中移动匹配窗口的第一视差范围,以及针对存在有效视差的相匹配的像素点,在匹配窗口中移动匹配窗口的第二视差范围,均小于预设视差范围,从而缩小了针对部分像素点在匹配图像中移动匹配窗口的视差范围,可以更快地确定整个基准图像中不同像素点的视差,提高确定视差的效率,进而提高生成视差图像的效率,并在一定程度上提高了匹配的准确度。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

图1示出了根据本发明一个实施例的一种视差确定方法的示意流程图。

图2是根据本发明一个实施例示出的一种滤波模板的示意图。

图3是根据本发明一个实施例示出的一种源图像的示意图。

图4是根据本发明一个实施例示出的一种边缘二值图像的示意图。

图5是根据本发明一个实施例示出的一种窗口的示意图。

图6示出了根据本发明一个实施例的一种确定基准图像的粗匹配视差图像的示意流程图。

图7示出了根据本发明一个实施例的一种确定视差范围的示意流程图。

图8示出了根据本发明一个实施例的另一种确定视差范围的示意流程图。

图9示出了根据本发明一个实施例的另一种视差确定方法的示意流程图。

图10示出了根据本发明一个实施例的又一种视差确定方法的示意流程图。

图11是根据本发明一个实施例示出的基准图像。

图12是根据本发明一个实施例示出的匹配图像。

图13是根据本发明一个实施例示出基于边的立体匹配视差图。

图14是根据本发明一个实施例示出的一种视差确定装置的示意框图。

图15是根据本发明一个实施例示出的另一种视差确定装置的示意框图。

图16是根据本发明一个实施例示出的又一种视差确定装置的示意框图。

图17是根据本发明一个实施例示出的又一种视差确定装置的示意框图。

图18是根据本发明一个实施例示出的又一种视差确定装置的示意框图。

图19是根据本发明一个实施例示出的又一种视差确定装置的示意框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

图1示出了根据本发明一个实施例的一种视差确定方法的示意流程图。图1所以,该方法包括:

在步骤s11中,基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像。

在一个实施例中,可以根据两部图像采集设备,例如相机,分别采集图像,将其中一部图像采集设备采集的图像作为基准图像,将另一部图像采集设备采集的图像作为匹配图像。

在一个实施例中,针对基准图像和匹配图像,可以先进行边缘化处理,确定图像中的边缘像素点和非边缘像素点,然后针对两类像素点进行二值化处理,进而根据基准图像得到基准边缘二值图像,以及根据匹配图像得到匹配边缘二值图像。

在一个实施例中,在进行边缘化和二值化处理之前,还可以对基准图像和匹配图像进行滤波平滑处理,以去除图像中的噪声像素点。其中,可以采用高斯滤波分别对基准视图和匹配视图进行滤波平滑处理。

图2是根据本发明一个实施例示出的一种滤波模板的示意图。

在一个实施例中,可以使用如图2所示的3×3的滤波模板,对基准图像和比较图像中的每一个像素点进行高斯滤波,方便起见,不妨将滤波后的基准图像记为imgr,将滤波后的比较图像记为imgl。

在一个实施例中,边沿二值化处理具体可以包括两步:

其一,从基准图像中提取基准边缘像素点,从匹配图像中提取匹配边缘像素点,其中,提取边缘像素点的过程可以使用canny算子,还可以使用sobel算子、isotropicsobel算子、roberts算子、prewitt算子、laplacian算子。

其二,对基准边缘像素点进行二值化处理,对匹配边缘像素点进行二值化处理,其中,二值化处理的过程可以使用canny算子,还可以使用kirsch算子。

优选地,可以根据canny算子完成上述两步操作。

图3是根据本发明一个实施例示出的一种源图像的示意图。

如图3所示,左侧图为根据一部图像采集设备采集到的左图像,右侧图为根据另一部图像采集设备采集到的右图像,可以将其中左图像作为基准图像,将其中右图像作为匹配图像。

图4是根据本发明一个实施例示出的一种边缘二值图像的示意图。

如图4所示,左侧图为对图3中基准图像进行边缘二值化处理得到的基准边缘二值图像,右侧图为对图3中基准图像进行边缘二值化处理得到的匹配边缘二值图像。

在步骤s12中,根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像。

在一个实施例中,可以在基准边缘二值图像中确定基准二值像素点,以基准二值像素点为中心确定基准二值窗口,在匹配二值图像中确定匹配二值像素点,以匹配二值像素点为中心确定匹配二值窗口。

在一个实施例中,基准窗口和待匹配窗口可以是n×n的窗口,也即包含n×n个像素点的窗口。

在一个实施例中,基准边缘二值图像中的像素点为基准二值像素点,基准二值像素点包括基准边缘二值像素点和基准非边缘二值像素点,相应地,匹配二值像素点包括匹配边缘二值像素点和匹配非边缘二值像素点。其中,仅针对基准边缘二值像素点确定基准二值窗口,而对于基准非边缘二值像素点则不作处理。

图5是根据本发明一个实施例示出的一种窗口的示意图。

在一个实施例中,如图5所示,左侧图像为基准边缘二值图像,其中的灰色矩形框即基准窗口,基准二值像素点位于基准窗口的中心。右侧图像为匹配边缘二值图像,其中的灰色矩形框即待匹配窗口,匹配二值像素点位于匹配二值窗口的中心,其中的白色矩形框示意了在预设视差范围内移动匹配二值窗口。当然,实际应用过程中,窗口的尺寸和预设视差范围都可以根据需要进行设置,窗口的尺寸可以与图5所示的不同,并且窗口移动的范围也可以与图5所示的不同。

在一个实施例中,可以在匹配边缘二值图像中的预设视差范围内移动匹配二值窗口,确定匹配二值窗口中与基准二值窗口中对应像素点的值均为1的像素点的数目nr,以及对应像素点的值不同的像素点的数目nw,计算确定c的最大值cmax是否大于预设代价值,若大于,记录基准二值窗口对应的像素点存在有效视差,且有效视差为cmax对应的视差,若不大于,记录基准二值窗口对应的像素点不存在有效视差。然后根据基准边缘二值图像中存在有效视差的像素点和相应的有效视差确定粗匹配视差图像。

其中,c越大,说明匹配二值窗口和基准二值窗口中位置(是指在窗口中位置而不一定是图像中的位置)相同,且均为边缘二值像素点(也即在匹配二值窗口中某一位置像素点为匹配边缘二值像素点,在基准二值窗口中相同位置的像素点为基准边缘二值像素点)的像素点在窗口中比例较大,也即说明匹配二值窗口和基准二值窗口的匹配度较高,因此可以设定一个预设代价值,若在预设视差范围内确定c的最大值cmax足够大,也即大于预设代价值,那么可以在较大程度上确定cmax对应的视差即基准二值窗口对应的像素点的视差,从而可以记录该像素点存在有效视差。相应地,若cmax并不足够大,那么则难以保证cmax对应的视差是基准二值窗口对应的像素点的视差,则记录该像素点不存在有效视差。

需要说明的是,上述c的分母除了可以包括匹配二值窗口中与所述基准二值窗口中对应像素点的值均为1的像素点的数目,以及对应像素点的值不同的像素点的数目,还可以包括对应像素点的值均为1的像素点的数目。

在步骤s13中,根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围。

在一个实施例中,针对非边缘像素点和边缘像素点,视差范围的确定方式有所不同。

其中,针对非边缘像素点,可以先根据基准边缘二值图像中的基准非边缘二值像素点在基准图像中确定非边缘像素点,然后在粗匹配视差图像中确定非边缘像素点左侧最近的存在有效视差的左边缘像素点的左有效视差,以及右侧最近的存在有效视差的右边缘像素点的右有效视差,根据左有效视差和右有效视差确定第一视差范围,其中,所述第一视差范围在上述预设视差范围内。

针对边缘像素点,可以根据基准边缘二值图像中的基准边缘二值像素点在基准图像中确定边缘像素点,在边缘像素点中确定在粗匹配视差图像中存在有效视差的像素点及其有效视差。

进一步地,针对存在有效视差的边缘像素点,可以根据有效视差和第二预设视差阈值确定第二视差范围,其中,第二视差范围在上述预设视差范围内。除了确定存在有效视差的边缘像素点,还可以在边缘像素点中确定不存在有效视差的未匹配边缘像素点,针对未匹配边缘像素点,可以确定其视差范围为上述预设视差范围。

在步骤s14中,根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值。

在一个实施例中,针对非边缘像素点,若能够在粗匹配视差图像中确定左有效视差和右有效视差,则在匹配图像中的第一视差范围内移动匹配窗口,否则,在匹配图像中的所述预设视差范围内移动匹配窗口。

针对存在有效视差的边缘像素点,在匹配图像中的第二视差范围内移动匹配窗口。

针对未匹配边缘像素点,在所述匹配图像中的所述预设视差范围内移动匹配窗口。

基于此,针对非边缘像素点,存在有效视差的边缘像素点和未匹配边缘像素点,可以在匹配图像中分别确定不同的视差范围来移动匹配窗口,以精确地确定匹配图像中与基准图像中的像素点匹配的像素点。

在一个实施例中,代价函数可以为相似性代价函数,例如零均值灰度和相关系数函数(zcc),归一化灰度互相关函数(ncc),公式分别如下:

zcc和ncc可以用于计算灰阶相似性。

代价函数还可以为差异代价函数,例如像素点差的绝对值和函数(sad),像素点差的平方和函数(ssd)等,公式如下:

sad和ssd可以用于计算灰阶差异性。

在上述公式中,w为窗口,i1(x,y)代表基准二值图像中坐标为(x,y)的像素点的灰阶,i2(x+d,y)代表匹配二值图像中坐标为(x+d,y)的像素点的灰阶,d表示视差,avgw1表示基准窗口中像素点灰阶均值,avgw2表示待匹配窗口中像素点均值均值。

在代价函数为相似性代价函数的情况下,代价函数的值最大时对应的视差即为像素点的视差值;在代价函数为差异代价函数的情况下,代价函数的值最小时对应的视差即为像素点的视差值。

在步骤s15中,将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

在一个实施例中,可以针对基准图像中每个像素点分别确定视差值,然后根据每个像素点对应的视差值,调整像素点的显示效果,例如视差值较大的像素点显示为红色,视差值较小的像素点显示为蓝色,既可以得到视差图像。

在一个实施例中,针对非边缘像素点,在匹配窗口中移动匹配窗口的第一视差范围,以及针对存在有效视差的边缘像素点,在匹配窗口中移动匹配窗口的第二视差范围,均小于预设视差范围,从而缩小了针对部分像素点在匹配图像中移动匹配窗口的视差范围,可以更快地确定整个基准图像中不同像素点的视差,提高确定视差的效率,进而提高生成视差图像的效率,还能够在一定程度上提高匹配的准确度。

图6示出了根据本发明一个实施例的一种确定基准图像的粗匹配视差图像的示意流程图。如图6所示,所述根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像,包括:

在步骤s121中,确定匹配二值窗口中所述匹配边缘二值图像的像素点与基准二值窗口中所述基准边缘二值图像的像素点的像素值均为1的像素点的数量nr;

在步骤s122中,确定匹配二值窗口中所述匹配边缘二值图像的像素点与基准二值窗口中所述基准边缘二值图像的对应像素点的像素值不同的像素点的数量nw;

在步骤s123中,在所述匹配边缘二值图像中的预设视差范围内移动所述匹配二值窗口,根据公式确定c的最大值cmax;

在步骤s124中,如果cmax大于预设代价值,则确定所述基准二值窗口对应的像素点的视差值为有效视差,且所述有效视差为cmax对应的视差;

在步骤s125中,如果cmax不大于预设代价值,则确定所述基准二值窗口对应的像素点的视差值为无效视差;

在步骤s126中,根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像。

在一个实施例中,c越大,说明匹配二值窗口和基准二值窗口中位置相同,且均为边缘二值像素点的像素点在窗口中比例较大,也即说明匹配二值窗口和基准二值窗口的匹配度较高。

因此可以设定一个预设代价值,若在预设视差范围内确定c的最大值cmax足够大,也即cmax大于预设代价值,那么可以在较大程度上确定cmax对应的视差即基准二值窗口对应的像素点的视差,从而可以记录该像素点存在有效视差。相应地,若cmax并不足够大,也即cmax不大于预设代价值,那么就难以保证cmax对应的视差是基准二值窗口对应的像素点的视差,则记录该像素点不存在有效视差。

进一步,针对存在有效视差的像素点,可以将有效视差的信息附加在相应的像素点上,例如根据不同的有效视差设置像素点具有不同的颜色,从而可以得到基准边缘二值图像具有有效视差的像素点构成的视差图,也即粗匹配视差图。

图7示出了根据本发明一个实施例的一种确定视差范围的示意流程图。如图7所示,所述根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围包括:

在步骤s131中,如果所述基准图像中的非边缘像素点在所述粗匹配视差图像中的相邻像素点存在左有效视差和右有效视差,则根据所述左有效视差和所述右有效视差确定所述非边缘像素点的第一视差范围,其中,所述第一视差范围在预设视差范围内;

在步骤s132中,如果所述基准图像中的非边缘像素点在所述粗匹配视差图像中的相邻像素点不存在左有效视差和右有效视差,确定所述非边缘像素点的视差范围为所述预设视差范围。

在一个实施例中,针对所述基准图像中的非边缘像素点,在粗匹配视差图像中确定该非边缘像素点左侧最近的存在有效视差的左边缘像素点的左有效视差,以及右侧最近的存在有效视差的右边缘像素点的右有效视差;

对于基准图像中的某个物体中的非边缘像素像素点,在匹配图像中与其对应的像素像素点,也一定位于该物体中,也即位于该物体的边缘之内,而不会位于该物体的边缘之外。基于此,针对基准图像中的该非边缘像素像素点,可以确定其左侧最近的边缘像素像素点(也即左边缘像素像素点)和右侧最近的边缘像素像素点(也即右边缘像素像素点),若存在左边缘像素像素点和右边缘像素像素点,则可以进一步确定左边缘像素像素点在基准边缘二值图像中对应的基准边缘二值像素像素点对应的有效视差(也即左有效视差),还有右边缘像素像素点在基准二值图像中对应的基准边缘二值像素像素点对应的有效视差(也即右有效视差)。那么在匹配图像中,针对该像素像素点所确定的相匹配的像素像素点也应该在匹配图像中对应左有效视差和右有效视差所界定的视差范围之间。

相应地,如果所述基准图像中的非边缘像素像素点在所述粗匹配视差图像中的相邻像素像素点不存在左有效视差和右有效视差,也即不存在左边缘像素像素点和右边缘像素像素点,或者即使存在一侧边缘像素像素点,但是该侧边缘像素像素点的视差为无效视差,也即无法根据左有效视差和右有效视差确定匹配图像中相匹配的像素像素点点的视差范围,则可以确定所述非边缘像素像素点点的视差范围为所述预设视差范围。

而由于左边缘像素点和右边缘像素点均位于匹配图像内,因此根据左有效视差和右有效视差作为第一视差范围的边界,确定的第一视差范围小于在整个匹配图像内移动匹配窗口所对应的预设视差范围,从而根据第一视差范围移动匹配窗口,可以提高匹配速度。

需要说明的是,上述步骤s131、s132可以根据需要调整执行顺序,既可以按照图7所示的顺序执行,也可以按照其他顺序执行,例如二者并列执行。

可选地,所述根据所述左有效视差和所述右有效视差确定所述非边缘像素点的第一视差范围包括:

根据所述左有效视差dl和所述右有效视差dr以及第一预设视差阈值dt1确定第一视差范围,

在dl<dr的情况下,第一视差范围为[dl-dt1,dr+dt1],其中,预设视差范围为[dmin,dmax],dl-dt1大于或等于dmin,dr+dt1小于或等于dmax;

在dl>dr的情况下,第一视差范围为[dr-dt1,dl+dt1],其中,预设视差范围为[dmin,dmax],dr-dt1大于或等于dmin,dl+dt1小于或等于dmax。

图8示出了根据本发明一个实施例的另一种确定视差范围的示意流程图。如图8所示,所述根据所述基准图像中的非边缘像素点和边缘像素点在所述粗匹配视差图像中的有效视差,确定所述非边缘像素点和边缘像素点的视差范围包括:

在步骤s133中,如果所述基准图像中的边缘像素点在所述粗匹配视差图像中存在匹配边缘像素点,则根据所述匹配边缘像素点的有效视差和第二预设视差阈值,确定所述匹配边缘像素点的第二视差范围,其中,所述第二视差范围在预设视差范围内;

在步骤s134中,如果所述基准图像中的边缘像素点在所述粗匹配视差图像中不存在匹配边缘像素点,则确定所述匹配边缘像素点的第二视差范围为预设视差范围。

在一个实施例中,针对边缘像素点,根据图6所示的实施例可以记录其是否存在有效视差,以及在存在有效视差的情况下具体的有效视差。针对存在有效视差的边缘像素点,也即相当于粗略地确定了基准图像中像素点的有效视差,其中,像素点的有效视差或者为该有效视差,或者为距离该有效视差较小范围内的相匹配的像素点对应的视差。因此可以根据有效视差和第二预设视差阈值确定第二视差范围。

需要说明的是,上述步骤s133和s134可以根据需要调整执行顺序,既可以按照图8所示的顺序执行,也可以按照其他顺序执行,例如两者并列执行。

可选地,所述根据所述有效视差和第二预设视差阈值确定所述匹配边缘像素点第二视差范围包括:

根据所述有效视差d和第二预设视差阈值dt2确定第二视差范围[d-dt2,d+dt2],其中,预设视差范围为[dmin,dmax],d-dt2大于或等于dmin,d+dt2小于或等于dmax。

在一个实施例中,针对边缘像素点,若根据图6所示的实施例记录其不存在有效视差,那么说明根据图6所示的实施例确定匹配程度的方式并没有在匹配二值图像中确定与基准图像中像素点相匹配的像素点,那么在匹配图像中进行精匹配时,则需要在整个匹配图像对应的预设视差范围内,重新确定与其匹配的像素点,以便确定其对应的视差。

图9示出了根据本发明一个实施例的另一种视差确定方法的示意流程图。如图9所示,所述计算所述基准图像中像素点的代价函数的值包括:

在步骤s141中,根据所述基准窗口中像素点的灰阶值和所述匹配窗口中像素点的灰阶值计算所述非边缘像素点的代价函数值之和cs(x,y),以及所述边缘像素点的代价函数值之和cs’(x,y);

在步骤s142中,计算代价函数c(x,y)=λcs’(x,y)+(1-λ)cs(x,y)的值,其中,0.5<λ<1。

在一个实施例中,由于0.5<λ<1,因此(1-λ)<λ,也即匹配窗口中边缘像素点的权重较大,非边缘像素点的权重较小。并且在一般情况下,计算代价函数时,主要关注特征相对明显的像素点(例如边缘像素点)的代价函数值,因此为边缘像素点设置更高的权重,提高了图像中特征更明显的像素点(也即边缘像素点)在代价函数中的权重,进而提高了计算代价函数的准确性。

图10示出了根据本发明一个实施例的又一种视差确定方法的示意流程图。如图10所示,在生成所述视差图像之后,所述方法还包括:

在步骤s16中,对所述视差图像中的边缘像素点进行滤波平滑处理;

在步骤s17中,根据所述基准二值图像中边缘像素点的目标视差和滤波平滑处理后的边缘像素点,生成基于边的立体匹配视差图像。

在一个实施例中,可以仅对视差图像中的边缘像素点进行滤波处理,并仅提取滤波平滑处理后的边缘像素点确定目标视差,从而可以得到仅存在边缘像素点的视差图像,也即基于边的立体匹配视差图像。

图11是根据本发明一个实施例示出的基准图像。图12是根据本发明一个实施例示出的匹配图像。图13是根据本发明一个实施例示出基于边的立体匹配视差图。

在一个实施例中,根据上述实施例,可以对如图11所示的基准图像(例如左图像)和如图12所示的匹配图像(例如右图像)进行处理,从而准确地确定其中属于边缘的边缘像素点,进而根据边缘像素点准确地生成如图13所示的基于边的立体匹配视差图。

与上述视差确定方法的实施例相对应地,本发明还提出了一种视差确定装置的实施例。

图14是根据本发明一个实施例示出的一种视差确定装置的示意框图。如图14所示,视差确定装置包括:

二值图像确定单元1,用于基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

粗匹配单元2,用于根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

范围确定单元3,用于根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

代价计算单元4,用于根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

精匹配单元5,用于将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

图15是根据本发明一个实施例示出的另一种视差确定装置的示意框图。如图15所示,所述粗匹配单元2包括:

数量确定子单元21,用于确定匹配二值窗口中所述匹配边缘二值图像的像素点与基准二值窗口中所述基准边缘二值图像的像素点的像素值均为1的像素点的数量nr;以及确定匹配二值窗口中所述匹配边缘二值图像的像素点与基准二值窗口中所述基准边缘二值图像的对应像素点的像素值不同的像素点的数量nw;

代价值子单元22,用于在所述匹配边缘二值图像中的预设视差范围内移动所述匹配二值窗口,根据公式确定c的最大值cmax;

视差子单元23,用于根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像。

图16是根据本发明一个实施例示出的又一种视差确定装置的示意框图。如图16所示,所述范围确定单元3包括:

第一范围确定子单元31,如果所述基准图像中的非边缘像素点在所述粗匹配视差图像中的相邻像素点存在左有效视差和右有效视差,则根据所述左有效视差和所述右有效视差确定所述非边缘像素点的第一视差范围,其中,所述第一视差范围在预设视差范围内;如果所述基准图像中的非边缘像素点在所述粗匹配视差图像中的相邻像素点不存在左有效视差和右有效视差,确定所述非边缘像素点的视差范围为所述预设视差范围。

可选地,所述范围确定子单元用于根据所述左有效视差dl和所述右有效视差dr以及第一预设视差阈值dt1确定第一视差范围,

在dl<dr的情况下,第一视差范围为[dl-dt1,dr+dt1],其中,预设视差范围为[dmin,dmax],dl-dt1大于或等于dmin,dr+dt1小于或等于dmax;

在dl>dr的情况下,第一视差范围为[dr-dt1,dl+dt1],其中,预设视差范围为[dmin,dmax],dr-dt1大于或等于dmin,dl+dt1小于或等于dmax。

图17是根据本发明一个实施例示出的又一种视差确定装置的示意框图。如图17所示,所述范围确定单元3包括:

第二范围确定子单元32,如果所述基准图像中的边缘像素点在所述粗匹配视差图像中存在匹配边缘像素点,则根据所述匹配边缘像素点的有效视差和第二预设视差阈值,确定所述匹配边缘像素点的第二视差范围,其中,所述第二视差范围在预设视差范围内;如果所述基准图像中的边缘像素点在所述粗匹配视差图像中不存在匹配边缘像素点,则确定所述匹配边缘像素点的第二视差范围为预设视差范围。

可选地,所述第二范围确定子单元用于根据所述有效视差d和第二预设视差阈值dt2确定第二视差范围[d-dt2,d+dt2],其中,预设视差范围为[dmin,dmax],d-dt2大于或等于dmin,d+dt2小于或等于dmax。

图18是根据本发明一个实施例示出的又一种视差确定装置的示意框图。如图18所示,所述代价计算单元4包括:

代价和子单元41,用于根据所述基准窗口中像素点的灰阶值和所述匹配窗口中像素点的灰阶值计算所述非边缘像素点的代价函数值之和cs(x,y),以及所述边缘像素点的代价函数值之和cs’(x,y);

加权子单元42,用于计算代价函数c(x,y)=λcs’(x,y)+(1-λ)cs(x,y)的值,其中,0.5<λ<1。

图19是根据本发明一个实施例示出的又一种视差确定装置的示意框图。如图19所示,还包括:

平滑处理单元7,用于对所述视差图像中的边缘像素点进行滤波平滑处理;

图像生成单元8,用于根据所述基准二值图像中边缘像素点的目标视差和滤波平滑处理后的边缘像素点,生成基于边的立体匹配视差图像。

关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在相关的方法的实施例中进行了详细描述,此处将不做详细阐述说明。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

本发明的实施例涉及一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

本发明的实施例涉及一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

基于两台相机拍摄同一场景的基准图像和匹配图像,确定所述场景的基准边缘二值图像和匹配边缘二值图像;

根据所述基准边缘二值图像和所述匹配边缘二值图像中存在有效视差的像素点和相应的有效视差,确定所述基准图像的粗匹配视差图像;

根据所述粗匹配视差图像中的非边缘像素点和边缘像素点的有效视差,确定所述基准图像的非边缘像素点和边缘像素点的视差范围;

根据所述视差范围、所述基准图像和所述匹配图像中的像素点的灰阶值,计算所述基准图像中像素点的代价函数的值;

将所述代价函数的值为最小值的视差值确定为所述基准图像中像素点的视差值。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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