一种图像处理的方法及终端的制作方法_2

文档序号:9828449阅读:来源:国知局
发明实施例不仅可针对任一待处理图像进行背景虚化,
[0044]通过本发明实施例获取待处理图像的深度图,并根据该深度图确定该待处理图像 中像素点i与该像素点i的邻域像素点之间的成像遮挡关系,其中,该像素点i为该待处理图 像中的任一像素点,根据该像素点i的成像遮挡关系,对该像素点i的邻域像素点进行模糊 化处理,得到该像素点i对应的输出图像数据,将该待处理图像中所有像素点对应的输出图 像数据进行叠加。从而,根据光学规律确定待处理图像中每一像素点的成像遮挡关系,并 且,针对该每一像素点的成像遮挡关系对该每一像素点的邻域进行模糊化处理,因此,模糊 化后的待处理图像不仅符合光学规律,而且虚化效果更为自然。在待处理图像的深度图包 含多个深度层次图,多个深度图中深度值小的深度层次,会对深度值大的其他深度层次造 成遮挡,从而,深度层次越多,虚化效果越接近单反实现的虚化效果。
[0045]请参阅图2,为本发明实施例提供的一种图像处理的方法的第二实施例流程示意 图。本实施例中所描述的图像处理的方法,包括以下步骤:
[0046] 201、获取待处理图像的深度图。
[0047] 其中,待处理图像的深度图可只包含近景和远景,或者,该深度图可包含近景、中 景和远景,或者,该深度图可包含更多个深度层次(如:呈现线性分布的深度图)。
[0048] 202、根据所述深度图,确定所述待处理图像中像素点i与所述像素点i的邻域像素 点之间的成像遮挡关系,其中,所述像素点i为所述待处理图像中的任一像素点。
[0049] 203、确定所述像素点i的模糊半径。
[0050] 本发明实施例中,由于每个像素点i的成像遮挡关系不一样,因而,终端可分别确 定每一像素点的模糊半径,这样,后续进行模糊化处理之后的虚化效果更为自然。
[0051] 可选地,以像素点i为例进行说明,该像素点i为待处理图像中的任一像素点。终端 可根据当前聚焦距离计算当前像距,根据该当前像距与该深度图估算该深度图中像素点i 的模糊直径,放大该像素点i的模糊直径得到该像素点i的放大后的模糊直径,根据该放大 后的模糊直径计算该像素点i的模糊半径。
[0052] 具体地,假设当前聚焦距离为D0,可以通过如下方程求得当前像距离vO,该公式可 理解为高斯成像公式,具体如下:
[0053]
[0054]其中,当前聚焦距离可以为用户通过触摸屏或者鼠标选择的画面中的点在深度图 中对应的深度,也可以是镜头自动聚焦位置所对应的深度v〇,其中,f为焦距。
[0055] 本发明实施例中,可按照公式(1)估算像素点i的模糊直径,该公式(1)如下:
[0056]
( 1 )
[0057]其中,i表示像素点i,D(p)表示该i的模糊直径,V(i)表示该i的像距,vO表示该当 前相距,A表示镜头入瞳孔径的直径:
表示镜头有效光圈数, FNumber表不等效光圈数,f表不焦距。
[0058]接着,放大该像素点i的模糊直径,该公式(2)如下:
[0059]
( 2 )
[0060] 其中,i表示该像素点i,D'(i)表示该i的放大后的模糊直径,D(i)为该i的第一模 糊直径,k表示放大倍数,且该k> I,threshoId表示预设阈值。
[0061] 放大后的模糊直径可用像素点的个数进行表示,在放大后的模糊直径为偶数的时 候,对应的模糊半径为该放大后的模糊直径的一半,在第二模糊直径为奇数的时候,模糊半 径=(放大后的模糊直径-1) /2。
[0062] 204、根据所述像素点i的成像遮挡关系构造所述像素点i的遮挡模板,其中,所述 遮挡模板的尺寸大小与所述模糊半径的尺寸大小相同。
[0063] 本发明实施例中,首先,按照公式(3)构造该像素点i的遮挡模板,该公式(3)如下:
[0064]
( 3 )
[0065]其中,f (i)为该i的遮挡模板,r(i)为该第二模糊半径,shape_mask(i)表示该像 素点i与该像素点i的邻域像素点之间的成像遮挡关系,H(i)表示如下:
[0066]
[0067]其中,δ表示高斯函数的方差。
[0068] 205、基于所述遮挡模板对所述像素点i的邻域进行模糊化处理,得到所述像素点i 对应的输出图像数据。
[0069] 本发明实施例中,终端可按照公式(4)计算该i的输出图像,该公式(4)如下:
[0070] Iout(I)=H7 (i) · Iin(i) · scheild(i) (4)
[0071] 其中,S(i)表示该i的邻域,IciutG)表示该i的输出图像,Iin(i)表示该待处理图像 中与该i的位置对应且邻域尺寸大小一致的区域图像,scheilcKi)表示成像遮挡关系模板, 该i的邻域的尺寸大小与该像素点i的模糊半径的尺寸大小一致,该scheild(i)如下:
[0072]
[0073] 其中,u(i)表示该i的深度值,u(S(i))表示该i的邻域的深度值。
[0074]可选地,首先,可根据人工设置卷积模板的形状得到掩模shapejnask,其中,该掩 模的模板内部的点设值为1,模板外部的点设值为〇,例如,如图2a所示,A为正方形模板,B为 六边形模板,C为八边形模板,上述预设掩模值也可基于该正方形模板得到相应的取值,或 者,上述预设掩模值也可基于该六边形模板得到相应的取值,或者,上述预设掩模值也可基 于该八边形模板得到相应的取值。进一步地,上述掩模可以通过将指定形状的数字图像实 施二值化得到。例如,将一个等边6边形的图像实施不同程度的缩放之后,再实施二值化,就 得到不同尺度的等边六边形模板。又例如,预设掩模值也可基于形状不规则的模板,如图2a 中的MASK。
[0075]可选地,终端可采用并行处理方式对像素点i的邻域像素点进行模糊化处理,其 中,具体地,终端可配置图形处理器(Graphics Processing Unit,GPU)模块,基于该GPU采 用并行处理方式对像素点i的邻域进行模糊化处理。
[0076] 206、将所述待处理图像中所有像素点对应的所述输出图像数据进行叠加。
[0077]本发明实施例中,可得到可对深度图中每一像素 i对应的输出图像数据,将深度图 中所有像素点对应的输出图像进行叠加,便可得到最终的输出图像,如公式(5)所示:
[0078]
( 5 )
[0079] 其中,1_表示最终的输出图像,Icmt⑴表示像素点i对应的输出图像,Ide3pth表示深 度图,iei depth表示i为深度图中的任一像素点。其中,公式(5)可由GPU完成对公式(5)的并 行处理,即可同时求解深度图中不同像素点对应的输出图像,最后,将深度图中所有像素点 对应的输出图像进行叠加,便可得到输出图像。
[0080] 需要说明的是,公式(5)还可等价为:
[0081]
(6)
[0082]其中,N为深度图中像素点的总个数,即由公式(6)可先求解深度图中任一点对应 的输出图像,然后,再将所有像素点对应的输出图像进行叠加。
[0083] 可选地,步骤S308的实现方式还可如下:
[0084] I0Ut(S(i))-Ic^SG))+^ (i) · Iin(i) · sheild(i) (7)
[0085] 公式(7)通过迭代方式可最终得到最终的输出图像,假设,N为深度图中像素点的 总个数,公式(7)的具体执行过程如下:
[0086] 首先,初始化 Iout(S(I))=O;
[0087] 其次,Iciut(Sd))-Iciut(S(I)Hra) · Iin(I) · sheild(l),此时,Iciut中像素 1 邻域 中的像素值受到像素1的影响而改变
[0088] 然后,1。此(3(2))-1。此(3(2))+!1'(2) · Iin(2) · sheild(2),此时,Iout中像素2邻域 中的像素值受到像素2的影响而改变
[0089] 紧接着,Icmt(SU))^Icmt(S(3))+H'(3) · Iin(3) · sheild(3),此时,Iciut中像素3邻 域中的像素值受到像素3的影响而改变
[0090] ···
[0091] 最终,I0Ut(S(N))-Iciut(S(N)HHXN) · Iin(N) · sheild(N),此时,Iciut中像素 N邻域 中的像素值受到像素 N的影响而改变。
[0092] 上述步骤中,1至N步的顺序可以任意颠倒,但是,深度图中的每个像素点在公式 (7)中计算且仅计算一次。
[0093] 通过本发明实施例获取待处理图像的深度图,并根据该深度图确定该待处理图像 中像素点i与该像素点i的邻域像素点之间的成像遮挡关系,其中,该像素点i为该待处理图 像中的任一像素点,确定像素点i的模糊半径,根据该模糊半径和该像素点i的成像遮挡关 系构造遮挡模板,基于该遮挡模板对该像素点i的邻域进行模糊化处理,得到该像素点i对
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1