图像引导滤波方法和系统的制作方法

文档序号:6537137阅读:242来源:国知局
图像引导滤波方法和系统的制作方法
【专利摘要】一种图像引导滤波方法和系统,其中方法包括:获取输入图像和引导图像;将计算引导图像R、G、B均值的第一GPU核函数、计算输入图像像素均值的第二GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中;根据引导图像各像素点的像素值确定对应流的引导图像R、G、B通道像素平均值;根据输入图像的灰度图像各像素点的像素值确定对应流的灰度图像像素平均值;根据引导图像各通道R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数;根据各个参数和引导图像像素点的像素值确定对应流的输出图像像素点的像素值。本发明提高滤波效率和实时性。
【专利说明】图像引导滤波方法和系统
【技术领域】
[0001]本发明涉及图像处理【技术领域】,特别是涉及一种图像引导滤波方法和系统。
【背景技术】
[0002]图像引导滤波作为一种高效滤波方式,可用于图像去噪、图像增强、图像匹配和去雾等方面。一般而言,图像引导滤波都以PC为架构,以CPU为运算核心的系统上完成。虽然相比其它波滤方式,在滤波图像效果和速度上都有大幅提高,但由于CPU必须集中对引导滤波函数进行处理,特别是针对大分辨率图像时,处理效率慢,实时性差。

【发明内容】

[0003]基于此,有必要针对图像引导滤波效率低、实时性差的问题,提供一种图像引导滤波方法和系统。
[0004]一种图像引导滤波方法,包括步骤:
[0005]获取输入图像和引导图像;
[0006]将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中;
[0007]根据引导图像各像素点的像素值利用所述第一 GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值;
[0008]将输入图像转换为灰度图像,根据灰度图像各像素点的像素值利用所述第二 GPU核函数确定对应流的灰度图像像素平均值;
[0009]利用所述第三GPU核函数根据引导图像R、G、B三通道像素平均值确定引导图像各通道的方差,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数;
[0010]根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
[0011]一种图像引导滤波系统,包括:
[0012]图像获取模块,用于获取输入图像和引导图像;
[0013]GPU核函数配置模块,用于将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中;
[0014]RGB图像像素均值确定模块,用于根据引导图像各像素点的像素值利用所述第一GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值;
[0015]灰度图像像素均值确定模块,用于将输入图像转换为灰度图像,根据灰度图像各像素点的像素值利用所述第二 GPU核函数确定对应流的灰度图像像素平均值;[0016]参数确定模块,用于利用所述第三GPU核函数根据引导图像R、G、B三通道像素平均值确定引导图像各通道的方差,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数;
[0017]输出图像确定模块,用于根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
[0018]上述图像引导滤波方法和系统,通过获取输入图像和引导图像,将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中,从而计算出引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值、灰度图像像素平均值、引导滤波函数各个参数,进而得到输出图像像素点的像素值。将不同值放入不同的流进行计算,加快了滤波速度。配置了多个求均值的GPU核函数,通过配置到不同GPU流中,力口快了整个引导滤波的速度,有效的降低了处理视频的延迟,提高了视频处理的实时性。
【专利附图】

【附图说明】
[0019]图1为本发明图像引导滤波方法实施例的流程示意图;
[0020]图2为本发明图像引导滤波系统实施例的结构示意图。
【具体实施方式】
[0021]以下针对本发明图像引导滤波方法和系统的各实施例进行详细的描述。
[0022]如图1所示,为本发明图像引导滤波方法实施例的流程示意图,包括:
[0023]步骤SlOl:获取输入图像和引导图像;
[0024]引导滤波中包括输入图像和引导图像。引导图像可以是预设的,也可以是输入图像本身。
[0025]步骤S102:将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流(stream)中;
[0026]GPU中包括多个流。分别将不同的GPU核函数放入不同的流器中。比如第一 GPU核函数配置在第一个流中,第二个GPU核函数配置在第二个流中等。所谓对应流即是指该GI3U核函数所在流。
[0027]步骤S103:根据引导图像各像素点的像素值利用第一 GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值;
[0028]本步骤目的是计算引导图像各个通道的像素平均值。
[0029]步骤S104:将输入图像转换为灰度图像,根据灰度图像各像素点的像素值利用第二 GPU核函数确定对应流的灰度图像像素平均值;
[0030]先将输入图像转换为灰度图像,然后计算该灰度图像的像素平均值,可以是浮点型像素平均值。
[0031]步骤S105:利用第三GPU核函数根据引导图像R、G、B三通道像素平均值确定引导图像各通道的方差,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数;[0032]这里的引导图像R、G、B三通道像素平均值是指步骤S103中的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值。可以根据各个通道的像素平均值计算引导图像各个通道的方差。比如根据引导图像R通道像素平均值确定引导图像R通道的方差,根据引导图像G通道像素平均值确定引导图像G通道的方差,根据引导图像B通道像素平均值确定引导图像B通道的方差。具体计算方差的方式为现有的,再此不说明。根据R通道方差、R通道像素平均值和灰度图像像素平均值可以确定该流的引导滤波函数各个参数。同理,也可以确定G通道和B通道对应的参数。
[0033]步骤S106:根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
[0034]这里可以采用公式qi = al1-b确定输出图像像素点的像素值,其中,qi表示输出图像第i个像素点的像素值,a表示第一参数,b表示第二参数,Ii表示引导图像的第i个像素点的像素值。
[0035]本实施例可以求整幅引导图像的各通道像素平均值,整幅输入图像的灰度图像的像素平均值,根据上述两个平均值求引导滤波函数各个参数,最后求得各个输出图像像素点的像素值。
[0036]在另一个实施例中,为了提高输出图像像素点的像素值精度,获取输入图像和引导图像步骤之后,还包括:
[0037]将输入图像和引导图像进行相同的划分,各自获得多个核函数窗口。这里是按相同的规则对输入图像和引导图像进行划分,目的是为了一一对应。比如将输入图像划分为MXN份,获得输入图像的多个核函数窗口。同理按照相同大小将引导图像划分为MXN份,获得引导图像的多个核函数窗口。这里的核函数窗口可以是指划分后的子图。
[0038]将输入图像和引导图像划分后,相应后续计算过程中,也是分别以核函数窗口为单位进行计算。
[0039]比如,步骤S103包括:根据引导图像各像素点的像素值利用第一 GPU核函数分别确定对应流的引导图像每个核函数窗口的R通道像素平均值、G通道像素平均值、B通道像素平均值。
[0040]步骤S104包括:将输入图像的各个核函数窗口进行灰度化处理,得到子灰度化图像,根据灰度图像各像素点的像素值利用第二 GPU核函数分别确定对应流的各个子灰度图像的像素平均值。
[0041]步骤S105包括:利用第三GPU核函数根据引导图像各个核函数窗口 R、G、B三通道像素平均值分别确定引导图像各个核函数窗口各通道的方差,根据引导图像各个核函数窗口各通道的方差、R、G、B三通道像素平均值和子灰度图像像素平均值分别确定对应流的各核函数窗口引导滤波函数各个参数;
[0042]步骤S105包括:
[0043]分别确定各个参数的平均值,根据各个参数的平均值和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
[0044]在其中一个实施例中,采用划分方式时,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数包括以下公式:
【权利要求】
1.一种图像引导滤波方法,其特征在于,包括步骤: 获取输入图像和引导图像; 将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中; 根据引导图像各像素点的像素值利用所述第一 GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值; 将输入图像转换为灰度图像,根据灰度图像各像素点的像素值利用所述第二 GPU核函数确定对应流的灰度图像像素平均值; 利用所述第三GPU核函数根据引导图像R、G、B三通道像素平均值确定引导图像各通道的方差,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数; 根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
2.根据权利要求1所述的图像引导滤波方法,其特征在于,所述获取输入图像和引导图像步骤之后,还包括: 将所述输入图像和所述引导图像进行相同的划分,各自获得多个核函数窗口 ; 所述确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值的步骤包括: 分别确定对应流的引导图像每个核函数窗口的R通道像素平均值、G通道像素平均值、B通道像素平均值; 所述将输入图像转换为灰度图像的步骤包括: 将输入图像的各个核函数窗口进行灰度化处理,得到子灰度化图像; 所述确定对应流的灰度图像像素平均值的步骤包括: 分别确定对应流的各个子灰度图像的像素平均值; 所述确定对应流的引导滤波函数各个参数的步骤,包括步骤: 确定对应流的各核函数的引导滤波函数的各个参数; 所述确定对应流的输出图像像素点的像素值步骤,包括步骤: 分别确定各个参数的平均值,根据各个参数的平均值确定对应流的输出图像像素点的像素值。
3.根据权利要求2所述的图像引导滤波方法,其特征在于,所述根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数包括以下公式:

4.根据权利要求3所述的图像引导滤波方法,其特征在于,所述分别确定各个参数的平均值步骤,包括: 根据各个核函数窗口的引导滤波函数的第一参数获得第一参数平均值,根据各个核函数窗口的引导滤波函数的第二参数获得第二参数平均值; 所述根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值步骤包括以下公式: q1: al - b Qi表示输出图像第i个像素点的像素值,?表示第一参数平均值,g表示第二参数平均值,Ii表示引导图像的第i个像素点的像素值。
5.根据权利要求1至4任意一项所述的图像引导滤波方法,其特征在于,所述根据引导图像各像素点的像素值利用所述第一 GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值步骤,包括: 将所述引导图像复制在GUP流的纹理内存中,通过第一 GPU核函数对纹理内存的数据进行横向滤波,将结果存储在全局内存中,通过第一 GPU核函数对全局内存中的数据进行纵向滤波,获得该流的引导图像R通`道像素平均值、G通道像素平均值、B通道像素平均值。
6.一种图像引导滤波系统,其特征在于,包括: 图像获取模块,用于获取输入图像和引导图像; GPU核函数配置模块,用于将计算引导图像R、G、B均值的第一 GPU核函数、计算输入图像像素均值的第二 GPU核函数、计算引导滤波函数参数的第三GPU核函数、计算输出图像的第四GPU核函数配置在GPU对应的流中;RGB图像像素均值确定模块,用于根据引导图像各像素点的像素值利用所述第一 GPU核函数确定对应流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值; 灰度图像像素均值确定模块,用于将输入图像转换为灰度图像,根据灰度图像各像素点的像素值利用所述第二 GPU核函数确定对应流的灰度图像像素平均值; 参数确定模块,用于利用所述第三GPU核函数根据引导图像R、G、B三通道像素平均值确定引导图像各通道的方差,根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数; 输出图像确定模块,用于根据各个参数和引导图像像素点的像素值利用第四GPU核函数确定对应流的输出图像像素点的像素值。
7.根据权利要求6所述的图像引导滤波系统,其特征在于,所述图像获取模块之后,还包括: 划分模块,用于将所述输入图像和所述引导图像进行相同的划分,各自获得多个核函数窗口 ; 参数平均值模块,用于根据各个核函数窗口的引导滤波函数的各个参数分别确定引导滤波函数各个参数的平均值; 所述RGB图像像素均值确定模块,用于分别确定对应流的引导图像每个核函数窗口的R通道像素平均值、G通道像素平均值、B通道像素平均值; 所述灰度图像像素均值确定模块,用于将输入图像的各个核函数窗口进行灰度化处理,得到子灰度化图像; 所述参数确定模块,用于分别确定对应流的各个子灰度图像的像素平均值;并确定对应流的各核函数的引导滤波函数的各个参数; 所述输出图像确定模块,用于根据各个参数的平均值确定对应流的输出图像像素点的像素值。
8.根据权利要求7所述的图像引导滤波系统,其特征在于,所述参数确定模块,用于根据引导图像各通道的方差、R、G、B三通道像素平均值和灰度图像像素平均值确定对应流的引导滤波函数各个参数包括以下公式:
9.根据权利要求8所述的图像引导滤波系统,其特征在于,所述参数平均值模块用于: 根据各个核函数窗口的引导滤波函数的第一参数获得第一参数平均值,根据各个核函数窗口的引导滤波函数的第二参数获得第二参数平均值; 所述输出图像确定模块用于采用以下公式确定输出图像像素点的像素值: <img/ > Qi表示输出图像第i个像素点的像素值,?表示第一参数平均值,$表示第二参数平均值,Ii表示引导图像的第i个像素点的像素值。
10.根据权利要求6至9任意一项所述的图像引导滤波系统,其特征在于,所述RGB图像像素均值确定模块用于: 将所述引导图像复制在GUP流的纹理内存中,通过第一 GPU核函数对纹理内存的数据进行横向滤波,将结果存储在全局内存中,通过第一 GPU核函数对全局内存中的数据进行纵向滤波,获得该流的引导图像R通道像素平均值、G通道像素平均值、B通道像素平均值。
【文档编号】G06T5/00GK103745446SQ201410041029
【公开日】2014年4月23日 申请日期:2014年1月27日 优先权日:2014年1月27日
【发明者】杜焕勇 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1