背景虚化方法、装置、终端设备及存储介质与流程

文档序号:21187928发布日期:2020-06-20 18:15阅读:212来源:国知局
背景虚化方法、装置、终端设备及存储介质与流程

本申请属于图像处理技术领域,尤其涉及一种背景虚化方法、装置、终端设备及计算机可读存储介质。



背景技术:

随着科学技术的发展进步,具有双摄像头的终端也越来越普及。

目前,基于双摄头的背景虚化已经逐渐成为双摄像头智能终端的标配。例如,双摄像头手机的背景虚化功能。而基于双摄像头的背景虚化往往采用双摄像头估算景深图,然后进行对景深图进行前景分割,确定出前景区域,再对背景区域和过渡区域的每个像素点进行不同强度的虚化,得到虚化图片。

但是,由于基于双摄像头估算景深算法本身的一些限制,比如物体纹理特征不显著时,估算的景深算法会存在误差。所以仅仅依靠景深图对图片进行前景分割难免会存在一些偏差,存在前景物体分割不全或者是前景过分割等情形。



技术实现要素:

有鉴于此,本申请实施例提供一种背景虚化方法、装置、终端设备及计算机可读存储介质,以解决现有技术中基于双摄像头估算景深图进行前景分割时准确性较低的问题。

本申请实施例的第一方面提供一种背景虚化方法,应用于至少包括第一摄像头和第二摄像头的智能终端,所述背景虚化方法包括:

获取通过所述第一摄像头拍摄的原图像;

根据用户选取的对焦点,计算景深图前景分割阈值,并根据所述景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图;

以所述第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对所述原图像进行前景分割,得到第二前景图;

根据所述第二前景图,确定所述原图像的前景区域和背景区域之间的过渡区域;

根据所述第二前景图,对所述原图像的背景区域和所述过渡区域进行虚化,得到背景虚化图。

结合第一方面,在第一种可能的实现中,所述根据所述第二前景图,对所述原图像的背景区域和所述过渡区域进行虚化,得到背景虚化图,包括:

利用预设背景虚化方式,对所述原图像进行一次背景虚化,得到模糊图;

将所述第二前景图进行距离变换,得到距离变换图;

根据所述景深图和所述距离变换图,计算过渡区域融合系数和背景区域融合系数,所述过渡区域融合系数与所述背景区域融合系数不相等;

根据所述过渡区域融合系数和背景区域融合系数,将所述模糊图和所述原图像进行融合,得到不同虚化强度的所述背景虚化图。

结合第一方面,在第二种可能的实现中,所述根据所述过渡区域融合系数和背景区域融合系数,将所述模糊图和所述原图像进行融合,得到不同虚化强度的背景虚化图,包括:

通过公式b(i,j)=g(i,j)*r(i,j)+s(i,j)*(1-r(i,j)),对将所述模糊图和所述原图像进行融合,得到不同虚化强度的所述背景虚化图;

其中,b(i,j)表示所述背景虚化图,g(i,j)表示所述模糊图,s(i,j)表示所述原图像,r(i,j)表示所述过渡区域融合系数或所述背景区域融合系数,i,j分别表示像素点的坐标位置。

结合第一方面,在第三种可能的实现中,所述根据所述景深图和所述距离变换图,计算过渡区域融合系数和背景区域融合系数,包括:

根据所述景深图和所述距离变换图,通过公式rt(i,j)=rdepth(i,j)*0.5+rdis(i,j)*0.5,计算所述过渡区域融合系数;

根据所述景深图和所述对焦点,通过公式rb(i,j)=rdepth(i,j)*0.5+rfocus(i,j)*0.5,计算所述背景区域融合系数;

其中,rt(i,j)表示所述过渡区域融合系数,rb(i,j)表示所述背景区域融合系数,rdepth(i,j)表示基于深度图计算的系数,rdis(i,j)表示基于距离变换图计算的融合系数,rfocus(i,j)表示基于对焦点位置计算的系数,i,j分别表示像素点的坐标位置;

rdepth(i,j)=abs(pdepth(i,j)-m_focus_depth)/m_focus_depth,pdepth(i,j)为景深图的像素值大小,m_focus_depth为基于用户选的对焦点确定的对焦深度平均值;

rdis(i,j)=pdis(i,j)/255,pdis(i,j)表示距离变换图的像素值;rfocus(i,j)=d(c(i,j),cfocus)/max(w,h),d(c(i,j),cfocus)表示当前像素与对焦点的欧氏距离,w、h为输入图像的宽和高。

结合第一方面,在第四种可能的实现中,所述利用预设背景虚化方式,对所述原图像进行一次背景虚化,得到模糊图,包括:

将所述原图像缩小至预设尺寸的图像;

对所述预设尺寸的图像进行一次高斯平滑,得到虚化图;

将所述虚化图的尺寸还原至所述原图像的尺寸,得到所述模糊图。

结合第一方面,在第五种可能的实现中,所述根据所述第二前景图,确定所述原图像的前景区域和背景区域之间的过渡区域,包括:

将所述第二前景图分别进行膨胀和腐蚀,得到膨胀图和腐蚀图;

计算所述第二前景图和所述膨胀图的第一差值图;

计算所述第二前景图与所述腐蚀图的第二差值图;

将所述第一差值图和所述第二差值图形成的带状区域作为前景区域与背景区域之间的过渡区域。

结合第一方面,在第六种可能的实现中,所述根据用户选取的对焦点,计算景深图前景分割阈值,包括:

以用户所选取的对焦点为中心,预设距离为边长,形成第一矩形区域,并将所述第一矩形区域分割成预设数量个第二矩形区域;

分别计算所述第一矩形区域和各个所述第二矩形区域的深度平均值;

将所述深度平均值中的最大值作为对焦深度平均值;

将所述对焦深度平均值乘以预设倍数作为所述景深图前景分割阈值。

本申请实施例的第二方面提供一种背景虚化装置,集成于至少包括第一摄像头和第二摄像头的智能终端,所述背景虚化装置包括:

获取模块,用于获取通过所述第一摄像头拍摄的原图像;

第一分割模块,用于根据用户选取的对焦点,计算景深图前景分割阈值,并根据所述景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图;

第二分割模块,用于以所述第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对所述原图像进行前景分割,得到第二前景图;

确定模块,用于根据所述第二前景图,确定所述原图像的前景区域和背景区域之间的过渡区域;

虚化模块,用于根据所述第二前景图,对所述原图像的背景区域和所述过渡区域进行虚化,得到背景虚化图。

本申请实施例的第三方面提供一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述方法的步骤。

本申请实施例的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面任一项所述方法的步骤。

本申请实施例与现有技术相比存在的有益效果是:

本申请实施例通过利用基于景深图分割得到的第一前景图作为初始mask图像,利用图像分割算法和颜色分割算法对原图像进行辅助分割,得到前景图,提高了前景分割的准确性。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种背景虚化方法的流程示意框图;

图2为本申请实施例提供的步骤s104的具体流程示意图;

图3为本申请实施例提供的一种背景虚化方法的另一种流程示意图;

图4为本申请实施例提供的步骤s305的具体流程示意图;

图5为本申请实施例提供的步骤s302的具体流程示意图;

图6为本申请实施例提供的原图像示意图;

图7为本申请实施例提供的景深图示意图;

图8为本申请实施例提供的前景分割图示意图;

图9为本申请实施例提供的融合系数图;

图10为本申请实施例提供的背景虚化图示意图;

图11为本申请实施例提供的一种背景虚化装置的结构示意框图;

图12为本申请实施例提供的终端设备的示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。

实施例一

本申请实施例所提供的背景虚化方法可以具体应用于至少包括第一摄像头和第二摄像头的智能终端,该智能终端可以例如为智能手机、平板电脑等设备,该智能终端至少包括第一摄像头和第二摄像头,该第一摄像头用于拍摄彩色图像,第二摄像头用于与第一摄像头配合进行双摄景深估算。具体应用中,第一摄像头可以作为主摄像头,第二摄像头作为副摄像头。一般情况下,第一摄像头拍摄彩色图像,第二摄像头可以用于拍摄彩色图像、红外图像或灰度图像,即该第二摄像头可以为可见光摄像模组或红外光摄像模组,当然,第二摄像头还可以为其它形式的摄像模组,在此不作限定。通过第一摄像头和第二摄像头拍摄的图像进行双摄景深估算。

本实施例将结合图1对背景虚化方法的具体流程进行介绍说明。

请参见图1,为本申请实施例提供的一种背景虚化方法的流程示意框图,该背景虚化方法可以包括以下步骤:

步骤s101、获取通过第一摄像头拍摄的原图像。

步骤s102、根据用户选取的对焦点,计算景深图前景分割阈值,并根据景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图。

可以理解的是,智能终端往往呈现的是通过第一摄像头即主摄像头拍摄的图片,而用户可以在拍摄图片时,选取图片的对焦点,而选取的方式可以例如是用手触摸显示屏上的相应图片位置,或者是其它方式,在此不作限定。

用户选取对焦点之后,智能终端可以根据该对焦点,计算相应像素点的深度值,然后得出景深图前景分割阈值。该景深图前景分割阈值用于对景深图进行前景和背景分割,而该景深图是基于双摄估计得到的景深图。

基于双摄估算景深图的算法可以是现有的任意景深估算算法。例如,其具体可以为基于双摄像头的几何关系进行景深估算的算法,其原理与双目视觉的原理类似,一般情况下,具有双摄像头的智能终端的主、副摄像头对同一物体拍摄时,所得到的是该物体不同角度的图像;基于不同角度的图像,利用相应的几何关系进行标定,智能终端可以通过双摄估算算法,得到相应的景深图。需要说明的是,上述基于双摄估算得到的景深图内的景物与原图像内的景物是一致的,可能只是拍摄角度不同而已。

计算出前景分割阈值之后,可以根据该阈值,对景深图进行图像分割,得到二值化的前景图像。具体应用中,可以将每个像素点的景深值与该前景分割阈值比较,当大于(或小于)该阈值时,将其像素值设置为0(或255),当小于(或大于)该阈值时,将其像素值设置为255(或0),这样,即可得到前景区域为白色(或黑色),背景区域为黑色(或白色)的二值化图像。

在一些情况下,在根据前景分割阈值对景深图进行二值化分割之后,还可以更新二值化前景图的对焦点坐标,对焦点坐标可以记为cfocus。

步骤s103、以第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对原图像进行前景分割,得到第二前景图。

需要说明的是,上述预设图像分割算法可以为但不限于grabcut图像分割算法,上述预设颜色分割算法可以为但不限于kmeans颜色分割算法。

以第一前景图为初始mask图像,对原图像进行前景精细分割,可以使得前景分割更加准确,不会出现分割不全或者是前景过分割等情况,即,可以对前景分割进行优化。

在一些情况下,为了提供分割效率,前景分割的优化可以在小图进行,然后再还原为原图大小即可。

需要说明的是,通过图像分割得到第一前景图的过程可以看作是相对粗糙的分割过程,而以第一前景图为初始mask图像,对原图像进行前景分割的过程看作是相对精细的分割过程。本实施例通过进行两次前景分割,使得前景分割的准确率较高。

步骤s104、根据第二前景图,确定原图像的前景区域和背景区域之间的过渡区域。

可以理解的是,图像的过渡区域是指图像的前景区域和背景区域之间的区域。该过渡区域的确定方法有很多,具体应用中,可以根据第二前景图进行膨胀、腐蚀,得到膨胀图和腐蚀图,然后再根据第二前景图和膨胀图之间的差值图、第二前景图和腐蚀图之间的差值图形成的区域作为过渡区域。当然,通过其他方法也能确定出图片中的哪些区域属于过渡区域。可选地,请参见图2,为本申请实施例提供的步骤s104的具体流程示意图,在本申请的一些实施例中,上述步骤s104,即,上述根据第二前景图,确定原图像的前景区域和背景区域之间的过渡区域的过程可以包括:

步骤s201、将第二前景图分别进行膨胀和腐蚀,得到膨胀图和腐蚀图。

步骤s202、计算第二前景图和膨胀图的第一差值图。

步骤s203、计算第二前景图与腐蚀图的第二差值图。

步骤s204、将第一差值图和第二差值图形成的带状区域作为前景区域与背景区域之间的过渡区域。

此处确定出的过渡区域可以作为一个标签,作为后续进行图像过渡区域融合时,确定图像内的哪些区域属于过渡区域的依据。

步骤s105、根据第二前景图,对原图像的背景区域和过渡区域进行虚化,得到背景虚化图。

利用优化的前景分割方法得到第二前景图之后,可以根据现有普遍的背景虚化方法进行背景虚化,例如,可以根据第二前景图以及确定图像中的前景区域、背景区域,然后对背景区域和过渡区域中的各个像素点与用户所选择的对焦点的深度距离,分别设置不同的虚化强度值,以对不同的像素点进行相应的背景虚化,得到不同虚化强度的背景虚化图。即,根据不同景深设计不同的虚化强度,进行多次虚化处理,得到不同虚化强度的背景虚化过程。

但是,利用现有的背景虚化方法需要根据不同的景深设计不同的虚化强度,这一过程相对比较耗时,不能快速有效地进行背景虚化。为了提高背景虚化效率,可以对原图像进行一次背景虚化,得到模糊图,然后根据第二背景图、景深图计算出背景区域融合系数和过渡区域融合系数,根据不同的融合系数将原图像和模糊图进行融合,得到不同虚化强度的背景虚化图。这样,只进行一次背景虚化,不用根据不同景深设置不同的虚化强度,耗时较少,效率较高。

可以理解的是,此处对根据第二前景图进行背景虚化的过程不作限定,只要能实现背景虚化的目的即可。

本实施例中,该方法通过利用基于景深图分割得到的第一前景图作为初始mask图像,利用图像分割算法和颜色分割算法对原图像进行辅助分割,得到前景图,提高了前景分割的准确性。

实施例二

根据第二前景图进行背景虚化的方法有很多,其中,可以根据第二前景图以及确定图像中的前景区域、背景区域,然后对背景区域和过渡区域中的各个像素点与用户所选择的对焦点的深度距离,分别设置不同的虚化强度值,以对不同的像素点进行相应的背景虚化,得到不同虚化强度的背景虚化图。即,根据不同景深设计不同的虚化强度,进行多次虚化处理,得到不同虚化强度的背景虚化过程。该方法的过程已被本领域技术人员所熟知,在此不再赘述。

另外,为了提高背景虚化效率,还可以对原图像进行一次背景虚化,得到模糊图,然后根据第二背景图、景深图计算出背景区域融合系数和过渡区域融合系数,根据不同的融合系数将原图像和模糊图进行融合,得到不同虚化强度的背景虚化图。这样,只进行一次背景虚化,不用根据不同景深设置不同的虚化强度,耗时较少,效率较高。本实施例将对此背景虚化过程进行介绍说明。

请参见图3,为本申请实施例提供的一种背景虚化方法的另一种流程示意图,该方法可以包括以下步骤:

步骤s301、获取通过第一摄像头拍摄的原图像。

步骤s302、根据用户选取的对焦点,计算景深图前景分割阈值,并根据景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图。

步骤s303、以第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对原图像进行前景分割,得到第二前景图。

步骤s304、根据第二前景图,确定原图像的前景区域和背景区域之间的过渡区域。

可以理解的是,步骤s301至步骤s304与上述实施例一的步骤s101至步骤s104相同,具体介绍说明请参见上述实施例的相应内容,在此不再赘述。

步骤s305、利用预设背景虚化方式,对原图像进行一次背景虚化,得到模糊图。

需要说明的是,上述预设背景虚化方式可以包括但不限于频率域滤波、均值滤波、高斯平滑等,而在具体应用中,由于高斯函数的可分离性,利用高斯平滑对原图像进行一次背景虚化,可以对虚化处理进程有效加速,即可以进一步减少背景虚化的耗时。当然,使用其他的背景虚化方式,也可以实现本申请实施例的目的。

其中,由于现有技术的背景虚化过程一般需要根据不同景深设计不同的虚化强度,以得到不同虚化强度的背景虚化图,该过程需要进行多次虚化,十分耗时。而本实施例只对原图像进行一次背景虚化,耗时明显减少。

需要说明的是,该步骤的执行顺序只需在步骤s308之前即可,即,本步骤可以在步骤s308之前的任意步骤。

步骤s306、将第二前景图进行距离变换,得到距离变换图。

可以理解的是,该二值化的前景图内包括有过渡区域,在进行距离变换时,对该前景图内的过渡区域也会进行相应距离变换。

步骤s307、根据景深图和距离变换图,计算过渡区域融合系数和背景区域融合系数,过渡区域融合系数与背景区域融合系数不相等。

需要说明的是,过渡区域融合系数可以用于将两幅图像的过渡区域进行融合,背景区域融合系数可以用于将两幅图像的背景区域进行融合。过渡区域融合系数与背景区域融合系数不相等,可以使得背景区域和过渡区域的虚化强度不一致,融合得到的背景虚化图的背景区域、过渡区域具有不同的虚化强度。

在本申请的一些实施例中,本步骤,即,上述根据景深图和距离变换图,计算过渡区域融合系数和背景区域融合系数的具体过程可以包括:根据景深图和距离变换图,通过公式rt(i,j)=rdepth(i,j)*0.5+rdis(i,j)*0.5,计算过渡区域融合系数;根据景深图和对焦点,通过公式rb(i,j)=rdepth(i,j)*0.5+rfocus(i,j)*0.5,计算背景区域融合系数;其中,rt(i,j)表示过渡区域融合系数,rb(i,j)表示背景区域融合系数,rdepth(i,j)表示基于深度图计算的系数,rdis(i,j)表示基于距离变换图计算的融合系数,rfocus(i,j)表示基于对焦点位置计算的系数,i,j分别表示像素点的坐标位置。

具体应用中,rdepth(i,j)=abs(pdepth(i,j)-m_focμs_depth)/m_focus_depth,pdepth(i,j)为景深图的像素值大小,m_focus_depth为基于用户选的对焦点确定的对焦深度平均值。rdis(i,j)=pdis(i,j)/255,pdis(i,j)表示距离变换图的像素值。rfocus(i,j)=d(c(i,j),cfocus)/max(w,h),d(c(i,j),cfocus)表示当前像素与对焦点的欧氏距离,w、h为输入图像的宽和高。

步骤s308、根据过渡区域融合系数和背景区域融合系数,将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图。

具体地,分别利用过渡区域融合系数、背景区域融合系数对图像的过渡区域、背景区域进行融合,而背景虚化图的前景区域可以直接用原图像相应的前景区域进行替换。

在本申请的一些实施例中,本步骤,即,上述根据过渡区域融合系数和背景区域融合系数,将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图的具体过程可以包括:通过公式b(i,j)=g(i,j)*r(i,j)+s(i,j)*(1-r(i,j)),对将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图;其中,b(i,j)表示背景虚化图,g(i,j)表示模糊图,s(i,j)表示原图像,r(i,j)表示过渡区域融合系数或背景区域融合系数,i,j分别表示像素点的坐标位置。

可以理解的是,r(i,j)表示过渡区域融合系数或背景区域融合系数是指r(i,j)可以为过渡区域融合系数,此时,可以通过公式b(i,j)=g(i,j)*r(i,j)+s(i,j)*(1-r(i,j))进行过渡区域融合;r(i,j)也可以为背景区域融合系数,此时,可以通过公式b(i,j)=g(i,j)*r(i,j)+s(i,j)*(1-r(i,j))进行背景区域融合。也就是说,可以根据不同的融合需求,r(i,j)取相应的数据。

本实施例中,该通过利用基于景深图分割得到的第一前景图作为初始mask图像,利用图像分割算法和颜色分割算法对原图像进行辅助分割,得到前景图,提高了前景分割的准确性。此外,还通过利用预设背景虚化方式,对原图像进行一次背景虚化,得到模糊图,然后根据不同的背景区域融合系数和过渡区域融合系数,将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图。即,只进行一次背景虚化,再将模糊图和原图像进行融合得到背景虚化图,不用根据不同景深多次设计不同的虚化强度,耗时较少,效率较高。

实施例三

请参见图4,为本申请实施例提供的上述步骤s305的具体流程示意图,在本申请的一些实施例中,上述步骤s305,即,上述利用预设背景虚化方式,对原图像进行一次背景虚化,得到模糊图的具体过程包括:

步骤s401、将原图像缩小至预设尺寸的图像。

步骤s402、对预设尺寸的图像进行一次高斯平滑,得到虚化图。

步骤s403、将虚化图的尺寸还原至原图像的尺寸,得到模糊图。

需要说明的是,上述预设尺寸可以是任意的,其只要比原图像的尺寸小即可,一般情况下,该预设尺寸为原图的一半,即可以将原图像缩小一半。

对缩小之后的图像进行一次高斯平滑,即可得到虚化图,其中,二维高斯函数可以具体为然后再将虚化图的尺寸还原成原图像的尺寸大小,即可得出高斯模糊图。高斯函数的可分离性,可以对虚化处理过程进行有效加速。

可以理解的是,此处利用高斯平滑进行虚化,而其它的虚化方式,例如均值滤波与其过程类似,在此不再赘述。

可以看出,先将图像缩小后再进行虚化处理,可以减少运算量,进一步提高虚化效率。当然,在其它实施例中,也可以直接对原图像进行高斯平滑虚化处理。

可选地,请参见图5,为本申请实施例提供的步骤s302的具体流程示意图,在本申请的一些实施例中,上述步骤s302,即,上述根据用户选取的对焦点,计算景深图前景分割阈值的具体过程可以包括:

步骤s501、以用户所选取的对焦点为中心,预设距离为边长,形成第一矩形区域,并将第一矩形区域分割成预设数量个第二矩形区域。

需要说明的是,上述预设距离可以根据实际需要进行设定,例如,可以设定为80个像素。

上述预设数量可以根据实际需要进行设定,但数值越大,计算量越大,当数值过大时,可能会影响到计算速度。一般情况下,预设数量可以为4。而将第一矩形区域分割成多个第二矩形区域时,可以均匀分割,也可以是不均匀分割,一般情况下,采用均匀分割方式。

步骤s502、分别计算第一矩形区域和各个第二矩形区域的深度平均值。

步骤s503、将深度平均值中的最大值作为对焦深度平均值。

步骤s504、将对焦深度平均值乘以预设倍数作为景深图前景分割阈值,并更新对焦点坐标。

需要说明的是,上述预设倍数可以根据实际应用场景进行设定。例如,可以设置为0.75倍。

例如,预设数量为4,预设倍数为0.75时,以焦点为中心,一定距离为边长,确定一个大的矩形区域,然后将这个矩形区域均匀分割成4个小矩形,再加上大的矩形区域,一共有5个矩形区域,分别计算这5个矩形区域的深度平均值,将深度平均值最大的作为对焦深度平均值,记为m_focus_depth。然后将对焦深度平均值乘以0.75倍后作为景深图前景分割阈值。

在计算出前景分割阈值之后,可以根据对景深图进行前景和背景分割。同时,还可以更新对焦点的坐标,对焦点坐标标记为cfocus。

可以看出,根据用户选取的焦点确定前景图分割阈值,可以使得前景图分割阈值更加符合实际情况,且可以更新对焦点的坐标。

为了更好地介绍本申请实施例的实现过程,下面将结合图6至图10进行介绍说明。其中,图6为本申请实施例提供的原图像示意图,图7为本申请实施例提供的景深图示意图,图8为本申请实施例提供的前景分割图示意图,图9为本申请实施例提供的融合系数图,图10为本申请实施例提供的背景虚化图示意图。

可以看出,图7、图8、图9、图10分别为图6的景深图、前景分割图、融合系数图、背景虚化图。将图6进行双摄估算后可以得到图7所示的景深图,然后根据前景图分割阈值,对景深图进行二值化分割,可以得到图8所示的前景分割图,在图8中,白色区域为前景,黑色区域为背景。根据距离变换图和景深图,可以计算出融合系数矩阵,而将融合系数矩阵图像化后可以得到如图9所示的图像,在图9中,黑色区域为前景区域,白色区域为背景区域,灰色区域为过渡区域。将原图和模糊图进行融合后,可以得到如图10所示的图像,图10中的背景区域、过渡区域有不同的虚化强度。这样,通过根据不同的融合系数将原图和经过一次高斯平滑虚化的模糊图进行融合,即使是只经过一次背景虚化,也能得到不同虚化强度的背景虚化图,耗时较少,效率较高。

本实施例中,在背景虚化时,先将图像缩小后再进行虚化处理,可以减少运算量,进一步提高虚化效率。利用高斯函数的可分离性,可以对虚化处理过程进行有效加速。根据用户选取的焦点确定前景图分割阈值,可以使得前景图分割阈值更加符合实际情况,且可以更新对焦点的坐标。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

实施例四

请参见图11,为本申请实施例提供的一种背景虚化装置的结构示意框图,该装置可以集成于至少包括第一摄像头和第二摄像头的智能终端,该背景虚化装置包括:

获取模块111,用于获取通过第一摄像头拍摄的原图像;

第一分割模块112,用于根据用户选取的对焦点,计算景深图前景分割阈值,并根据景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图;

第二分割模块113,用于以第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对原图像进行前景分割,得到第二前景图;

确定模块114,用于根据第二前景图,确定原图像的前景区域和背景区域之间的过渡区域;

虚化模块115,用于根据第二前景图,对原图像的背景区域和过渡区域进行虚化,得到背景虚化图。

在一种可能的实现中,上述虚化模块可以包括:

虚化单元,用于利用预设背景虚化方式,对原图像进行一次背景虚化,得到模糊图;

距离变换单元,用于将第二前景图进行距离变换,得到距离变换图;

融合系数计算单元,用于根据景深图和距离变换图,计算过渡区域融合系数和背景区域融合系数,过渡区域融合系数与背景区域融合系数不相等;

融合单元,用于根据过渡区域融合系数和背景区域融合系数,将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图。

在一种可能的实现中,上述融合单元可以包括:

融合子单元,用于通过公式b(i,j)=g(i,j)*r(i,j)+s(i,j)*(1-r(i,j)),对将模糊图和原图像进行融合,得到不同虚化强度的背景虚化图;

其中,b(i,j)表示背景虚化图,g(i,j)表示模糊图,s(i,j)表示原图像,r(i,j)表示过渡区域融合系数或背景区域融合系数,i,j分别表示像素点的坐标位置。

在一种可能的实现中,上述融合系数计算单元可以包括:

第一计算子单元,用于根据景深图和距离变换图,通过公式rt(i,j)=rdepth(i,j)*0.5+rdis(i,j)*0.5,计算过渡区域融合系数;

第二计算子单元,用于根据景深图和对焦点,通过公式rb(i,j)=rdepth(i,j)*0.5+rfocus(i,j)*0.5,计算背景区域融合系数;

其中,rt(i,j)表示过渡区域融合系数,rb(i,j)表示背景区域融合系数,rdepth(i,j)表示基于深度图计算的系数,rdis(i,j)表示基于距离变换图计算的融合系数,rfocus(i,j)表示基于对焦点位置计算的系数,i,j分别表示像素点的坐标位置;

rdepth(i,j)=abs(pdepth(i,j)-m_focus_depth)/m_focus_depth,pdepth(i,j)为景深图的像素值大小,m_focus_depth为基于用户选的对焦点确定的对焦深度平均值;

rdis(i,j)=pdis(i,j)/255,pdis(i,j)表示距离变换图的像素值;rfocus(i,j)=d(c(i,j),cfocus)/max(w,h),d(c(i,j),cfocus)表示当前像素与对焦点的欧氏距离,w、h为输入图像的宽和高。

在一种可能的实现中,上述虚化单元可以包括:

缩小子单元,用于将原图像缩小至预设尺寸的图像;

高斯平滑子单元,用于对预设尺寸的图像进行一次高斯平滑,得到虚化图;

还原子单元,用于将虚化图的尺寸还原至原图像的尺寸,得到模糊图。

在一种可能的实现中,确定模块可以包括:

膨胀腐蚀单元,用于将第二前景图分别进行膨胀和腐蚀,得到膨胀图和腐蚀图;

第一计算单元,用于计算第二前景图和膨胀图的第一差值图;

第二计算单元,用于计算第二前景图与腐蚀图的第二差值图;

作为单元,用于将第一差值图和第二差值图形成的带状区域作为前景区域与背景区域之间的过渡区域。

在一种可能的实现中,上述第一分割模块可以包括:

分割单元,用于以用户所选取的对焦点为中心,预设距离为边长,形成第一矩形区域,并将第一矩形区域分割成预设数量个第二矩形区域;

深度评价值计算单元,用于分别计算第一矩形区域和各个第二矩形区域的深度平均值;

筛选单元,用于将深度平均值中的最大值作为对焦深度平均值;

阈值计算单元,用于将对焦深度平均值乘以预设倍数作为景深图前景分割阈值。

需要说明的是,本申请实施例提供的背景虚化装置与上述各个实施例的背景虚化方法一一对应,具体介绍说明请参见上文相应内容,在此不再赘述。

本实施例中,该装置通过利用基于景深图分割得到的第一前景图作为初始mask图像,利用图像分割算法和颜色分割算法对原图像进行辅助分割,得到前景图,提高了前景分割的准确性。

实施例五

图12是本申请一实施例提供的终端设备的示意图。如图12所示,该实施例的终端设备12包括:处理器120、存储器121以及存储在所述存储器121中并可在所述处理器120上运行的计算机程序122。所述处理器120执行所述计算机程序122时实现上述各个背景虚化方法实施例中的步骤,例如图1所示的步骤s101至s105。或者,所述处理器120执行所述计算机程序122时实现上述各装置实施例中各模块或单元的功能,例如图11所示模块111至115的功能。

示例性的,所述计算机程序122可以被分割成一个或多个模块或单元,所述一个或者多个模块或单元被存储在所述存储器121中,并由所述处理器120执行,以完成本申请。所述一个或多个模块或单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序122在所述终端设备12中的执行过程。例如,所述计算机程序122可以被分割成获取模块、第一分割模块、第二分割模块、确定模块以及虚化模块,各模块具体功能如下:

获取模块,用于获取通过第一摄像头拍摄的原图像;第一分割模块,用于根据用户选取的对焦点,计算景深图前景分割阈值,并根据景深图前景分割阈值,对预先基于双摄估算得到的景深图进行图像分割,得到二值化的第一前景图;

第二分割模块,用于以第一前景图为初始mask图像,通过预设图像分割算法和预设颜色分割算法对原图像进行前景分割,得到第二前景图;确定模块,用于根据第二前景图,确定原图像的前景区域和背景区域之间的过渡区域;虚化模块,用于根据第二前景图,对原图像的背景区域和过渡区域进行虚化,得到背景虚化图。

所述终端设备12可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器120、存储器121。本领域技术人员可以理解,图12仅仅是终端设备12的示例,并不构成对终端设备12的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器120可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器121可以是所述终端设备12的内部存储单元,例如终端设备12的硬盘或内存。所述存储器121也可以是所述终端设备12的外部存储设备,例如所述终端设备12上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,所述存储器121还可以既包括所述终端设备12的内部存储单元也包括外部存储设备。所述存储器121用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器121还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置、终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置、终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块或单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

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