一种优化的快速导向图滤波方法与流程

文档序号:19159132发布日期:2019-11-16 01:09阅读:997来源:国知局
一种优化的快速导向图滤波方法与流程

本发明涉及图像处理技术领域,尤其涉及图像滤波技术。



背景技术:

导向图滤波(guidedfilter)是一种图像滤波技术,通过使用一张引导图对输入图像进行滤波处理,使得最后输出的图像大体上与输入图像相似,但是纹理部分与引导图相似,可以像流行的双边滤波器一样用于保边的图像平滑。

快速导向图滤波(fastguidedfilter)是一种更实用、更快速的导向滤波方法。采用原始图的缩略图来近似计算导向图算法中使用的系数a、b。当缩略图的缩小比例为s时,可以把计算量从o(n)降到o(n/s2)。快速导向图滤波采用缩略图的均值和缩略图的平方图来近似计算导向图算法中使用的系数a、b,最终的导向图的结果与原版导向图在面积较小的区域会有较大区别。



技术实现要素:

本发明提出一种优化的快速导向图滤波方法,方法采用原图的平方图的缩略图替代缩略图的平方图计算导向图算法中使用的系数a、b,可以得到更加接近原始导向图的结果,从而提高快速导向图滤波方法的滤波效果。

本发明提供了一种优化的快速导向图滤波方法,包括以下步骤:

步骤1,计算原始图像i的缩略图isub和图像平方图的缩略图

步骤1.1,对输入的原始图像i进行比例为s的下采样得到缩略图isub。所述原始图像i的长、宽记为m和n,对其进行比例为s的下采样,即得到尺寸为(m/s)*(n/s)的图像,s应为m和n的公约数。下采样过程为把原始图像i中s*s大小窗口内的像素转换成一个像素,转换后的像素点的值为所述s*s大小窗口内所有像素的均值:

其中j是所述缩略图isub的像素的索引,win(j)表示所述缩略图isub上的像素j对应的所述原始图像i上的s*s大小窗口内的像素,pj表示所述缩略图isub的像素j的像素值;

步骤1.2,对所述原始图像i计算平方图i.*i,所述平方图的每个像素点的值是所述原始图像i的对应位置的像素的值的平方;

步骤1.3,对所述平方图进行比例为s的下采样得到图像平方图的缩略图

步骤2,计算所述缩略图isub和所述平方图的缩略图的半径为r的均值滤波的图

步骤3,计算所述缩略图isub的导向图滤波的系数ar和br。

步骤3.1,计算所述缩略图isub近似的方差图

步骤3.2,计算缩略图isub的所有局部窗口的线性系数ar和br,以及计算缩略图的线性系数asub和bsub:

asub=mean(ar,rsub)

bsub=mean(br,rsub)

其中ε是控制平滑度的正则化参数;

步骤4,对所述缩略图isub的导向图滤波的系数asub和bsub进行比例为s上采样,得到所述原始图像i的导向图滤波的系数a、b,其中,所述上采样使用线性插值的方法。

步骤5,根据所述原始图像i和所述导向图滤波的系数a、b,得到滤波后的图像o。

o=a.*i+b

步骤6,输出所述滤波后的图像o。

本发明提供了一种优化的快速导向图滤波方法。采用原图的平方图的缩略图替代快速导向图滤波方法中缩略图的平方图来计算导向图算法中使用的系数a、b,相比原始的快速导向图滤波算法,改善了最终的导向图的结果与原版导向图在面积较小的区域会有较大区别的问题,得到更加接近原始导向图的结果,从而提高快速导向图滤波器的滤波效果。

附图说明

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

图1是本说明书实施例提供的一种.优化的快速导向图滤波方法流程图;

具体实施方式

为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。

以下结合附图,详细说明本说明书实施例提供的技术方案。

本发明提供了一种优化的快速导向图滤波方法,包括以下步骤:

步骤1,计算原始图像i的缩略图isub和图像平方图的缩略图

步骤1.1,对输入的原始图像i进行比例为s的下采样得到缩略图isub。所述原始图像i的长、宽记为m和n,对其进行比例为s的下采样,即得到尺寸为(m/s)*(n/s)的图像,s应为m和n的公约数。下采样过程为把原始图像i中s*s大小窗口内的像素转换成一个像素,转换后的像素点的值为所述s*s大小窗口内所有像素的均值:

其中j是所述缩略图isub的像素的索引,win(j)表示所述缩略图isub上的像素j对应的所述原始图像i上的s*s大小窗口内的像素,pj表示所述缩略图isub的像素j的像素值;

步骤1.2,对所述原始图像i计算平方图i.*i,所述平方图的每个像素点的值是所述原始图像i的对应位置的像素的值的平方;

步骤1.3,对所述平方图进行比例为s的下采样得到图像平方图的缩略图

步骤2,计算所述缩略图isub和所述平方图的缩略图的半径为r的均值滤波的图

步骤3,计算所述缩略图isub的导向图滤波的系数ar和br。

步骤3.1,计算所述缩略图isub近似的方差图

步骤3.2,计算缩略图isub的所有局部窗口的线性系数ar和br,以及计算缩略图的线性系数asub和bsub:

asub=mean(ar,rsub)

bsub=mean(br,rsub)

其中ε是控制平滑度的正则化参数;

步骤4,对所述缩略图isub的导向图滤波的系数asub和bsub进行比例为s上采样,得到所述原始图像i的导向图滤波的系数a、b,其中,所述上采样使用线性插值的方法。

步骤5,根据所述原始图像i和所述导向图滤波的系数a、b,得到滤波后的图像o。

o=a.*i+b

步骤6,输出所述滤波后的图像o。

本发明提供的一种优化的快速导向图滤波方法可以通过伪代码来表示。使用输入图像作为导向图时,滤波输入图像、滤波输出图像分别表示为i和o。导向图滤波器是一个局部线性模型:

bk=(1-ak)μk

其中i是像素的索引,k是半径为r的局部正方形窗口ω的索引,μk和σk是i在窗口ωk中的均值和方差,ε是控制平滑度的正则化参数。滤波输出计算公式为:

其中分别是以i为中心的窗口ωi内a和b的平均值。

以下是使用输入图像作为导向图时,优化的快速导向图滤波算法的伪代码。其中mean(·,r)表示半径为r的均值滤波处理,subsample(·,s)表示比例为s的下采样,upsample(·,s)表示比例为s的上采样。

1:isub=subsample(i,s)

r'=r/s

2:

3:

4:

5:asub=mean(ar,rsub)

bsub=mean(br,rsub)

6:a=upsample(asub,s)

b=upsample(bsub,s)

7:o=a.*i+b

本申请所提出的优化的快速导向图滤波方法是一种更实用、更快速的导向图滤波方法。当下采样比例为s时,可以把导向图滤波的计算量从o(n)降到o(n/s2),并且没有明显的视觉退化。相比快速导向图滤波算法,改善了最终的导向图的结果与原版导向图在面积较小的区域会有较大区别的问题,可以得到更好的滤波效果。

本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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