本发明涉及图像处理的技术领域,具体地,是一种基于图像金字塔的图像去噪方法以及实现这种方法的计算机装置、计算机可读存储介质。
背景技术:
现有很多智能电子设备具有图像拍摄的功能,例如智能手机、平板电脑、行车记录仪等均设置有摄像装置,摄像装置通常设置有cmos传感器来获取图像。通常,一张图像包括大量的像素,每一个像素的色彩信息可以通过rgb数值或者yuv数值表示。
例如,目前普遍使用的cmos图像传感器一般采用bayer排列格式,每个像素的色彩信息通常为rgb的数值,但rgb的数值并非三原色的信息,图像会出现色彩失真的情况,因此需要对每一个像素进行“去马赛克”(demosaic)的处理而得到rgb三原色信息,以还原图像原本的色彩。
随着图像分辨率的增大、单个像素的感光量的降低、低照度场景应用越来越广泛,cmos图像传感器输出的图像噪声大为增加。由于raw图像转换到rgb图像的过程中,去马赛克的操作需要参考一定区域内的所有图像像素得到一个像素的rgb三原色,各颜色分量的噪声大范围相互扩散,导致最终图像出现大块(从几个像素到上百像素)彩色色斑,严重影响人眼观感。因此,通常需要对cmos图像传感器输出的图像进行去噪处理。
图像中的信息具有高度的相关性,每一个像素都不是孤立存在的,不仅具有亮度的相似性,而且还具有图像纹理结构的相似性。非局部均值(non-localmeans,简称nlm)方法是一种基于图像局部相似性的去噪方法,在邻域平均去噪方法的基础上,nlm方法的相似权重系数由当前待去噪像素点与其邻域内其他像素点为中心的图像片之间的相似性所决定,其权重的计算与两个像素的空间位置没有实质性关系,只与两个图像片的相似性有关,因此能够较好的避免引入虚假信息。由于图像的噪声可等效为加性高斯白噪声,加权平均相似像素能够较好的去除图像的噪声。由于nlm方法具有算法简洁、性能优越、易于改进与扩展的特性,成为当前图像去噪的主流方法之一。
nlm方法的基本原理如下:以待去噪像素点为中心取邻域窗口,窗口大小为n×n(n一般为3、5、7、9等),将周围一定大小的图像区域作为搜索区域,记为m×m(可选整幅图像,但计算量过大,一般m小于41),在搜索区域内寻找相似图像块,通常的方法是计算图像块之间的高斯加权欧式距离,使用下面的公式计算:
其中,ga为标准差为a的高斯核,u(ni)和u(nj)分别为中心窗口的图像块和搜素区域图像块内的对应像素。然后,计算去噪后的像素估计值,使用下面的公式计算:
其中,w(i,j)=exp(-d(i,j)/h2)为权重系数,
当前,基于非局部均值的去噪方法主要有以下三种方式:
第一种方式是将图像做变换,在变换域而不是空域内用nlm方法对图像进行去噪,具体的步骤是:对初始图像做变换,如小波变换、contourlet变换、拉普拉斯变换等,分解为低频图像和高频图像;然后,对低频图像和高频图像分别用nlm方法进行去噪或修正,最后,将得到的低频和高频图像进行重构和逆变换,得到去噪后的图像。
第二种方式是利用图像信息,自适应选择nlm方法的邻域块大小和权重系数,具体的步骤是:使用评价算子对噪声图像先进行像素粗分类;然后,对噪声图像中的每一个像素,根据其周围邻域像素的粗分类结果,对该像素的类别进行细分类,分为低噪声高纹理、中等纹理、高噪声次纹理、平滑区域等等;最后,对细分类后的每一个类别,自适应的选择滤波参数和邻域块大小,使用非局部均值去噪算法进行像素去噪。
第三种方式是bm3d去噪方法,是为了实现实时视频去噪而进行改进的,具体的步骤包括:把图像分成许多个n×n的像素块,在当前帧和前后若干帧以参块为中心的某个区域内挑选出与参考块最匹配的n个像素块,组成一个n×n×n的三维像素数组,对这个三维像素数组进行三维离散余弦变换、硬阈值滤波和三维离散余弦反变换,将反变换结果进行重构处理,得到去噪结果。
但是,基于非局部均值的去噪方法存在着如下几个问题:
第一,该算法的去噪结果与去噪局部窗口的大小密切相关,在图像噪声较大时,需要较大的局部窗口才可以得到较好的去噪效果,但算法复杂度和硬件实现代价会显著增加。对于低照度等信噪比较低的场景,搜索区域至少需要33×33以上,这就意味着对每一个待去噪像素,需要1088次以上的相似图像块匹配运算以及其他相关运算,计算量非常大,不利于实时去噪和硬件实现。
第二,在图像噪声较大时,nlm算法可以有效去除低频噪声,但同时会损失图像的高频细节,造成图像清晰度下降。这是由于此时搜素区域较大,相似图像块较多,导致一些假相似的像素参与到去噪过程中,造成图像纹理的弱化。
第三,当前的nlm去噪方法都没有针对raw图像去噪的完整技术方案。当前拍摄设备一般为cmos相机,输出格式为raw格式,一般采用bayer颜色滤波阵列,每个像素点只有r、g、b其中一种色彩信息,且g的像素个数是r、b的两倍。
技术实现要素:
本发明的主要目的是提供一种减少智能电子设备计算量且去噪效果更佳的基于图像金字塔的图像去噪方法。
本发明的另一目的是提供一种实现上述基于图像金字塔的图像去噪方法的计算机装置。
本发明的再一目的是提供一种实现上述基于图像金字塔的图像去噪方法的计算机可读存储介质。
为实现本发明的主要目的,本发明提供的基于图像金字塔的图像去噪方法包括获取初始图像,计算初始图像的每一像素的输出色度值;其中,计算每一像素的输出色度值包括:获取待去噪像素的分层搜索区域,并获取分层搜索区域内各个像素的初始色度值,对分层搜索区域进行至少一次下采样,每次下采样后获得一层下采样图像,多层下采样图像形成第一图像金字塔;将每一下采样图像进行上采样,将上采样后的图像与该下采样图像的下一层图像相减后获得一层相减图像,多层相减图像形成第二图像金字塔;将第二图像金字塔的每一层相减图像与第一图像金字塔的最高层下采样图像进行均值去噪,获得去噪色度值;使用初始色度值与去噪色度值计算输出色度值。
由上述方案可见,由于图像金字塔中每一层图像的像素数量均小于初始图像的像素数量,因此,使用图像金字塔进行去噪计算,可以大大减少去噪计算的计算量,从而降低智能电子设备的硬件实现成本。此外,由于第二图像金字塔的每一层图像均由第一图像金字塔相邻的两层图像计算获得,这样,第二图像金字塔的高层图像可反映小尺度的图像纹理信息,第二图像金字塔的高层低层图像可反映大尺度的图像边缘信息,利用金字塔分层的方式,在空间上将图像分成不同的频段,有利于后续精细化去噪处理,使得去噪效果更加理想。
一个优选的方案是,获得去噪色度值包括:设定每一相减图像与最高层下采样图像的去噪搜索区域,在预设范围内计算预设距离值,计算所有预设距离值小于噪声阈值的像素的色度值的平均值。
由此可见,通过设定噪声阈值可以方便计算去噪搜索区域在预设范围内的距离值,可以方便的确定哪些像素的色度值可用,哪些像素的色度值不可以使用,也就是通过搜索来确定颜色较为接近的图像块作为去噪的参考。
进一步的方案是,噪声阈值正关系于图像传感器的特性值和/或像素的亮度值。
这样,设定的噪声阈值可以反应出图像传感器的特性,依据图像传感器的特性来对图像进行有针对性的去噪。并且,由于色彩噪声与像素的亮度有一定的关系,例如色彩噪声产生的原因可能是光照不足造成的,因此,噪声阈值与像素的亮度值相关,可以提高去噪后的图像色彩真实性
更进一步的方案是,至少一层相减图像的去噪搜索区域大于最高层下采样图像的去噪搜索区域。
由此可见,根据每一层图像的大小,确定相适应的去噪搜索区域,例如某一层图像的像素较多,则设置较大的搜索区域,如果像素较少,则设置较少的搜索区域,从而提高图像的去噪质量。
一个优选的方案是,在预设范围内计算预设距离值,计算所有预设距离值小于噪声阈值的像素的色度值的平均值包括:计算每一层相减图像的去噪搜索区域与预设范围的预设距离值,并计算最高层下采样图像的去噪搜索区域与预设范围的预设距离值,计算各层所有预设距离值小于噪声阈值的像素的色度值的平均值。
由此可见,针对每一层图像均执行预设距离值的计算,并且计算每一层的像素的色度值的平均值,在计算像素的输出色度值时,可以使用的参数更多,从而提高去噪计算的准确性。
更进一步的方案是,使用初始色度值与去噪色度值计算输出色度值包括:使用初始色度值、各层的去噪色度值以及预设的加权系数计算输出色度值。
可见,通过预设的加权系数来计算输出色度值,这样可以根据不同层的去噪色度值的比重来确定合适的权重值,从而提高输出色度值计算的准确性,使得去噪后的色度值更加接近与真实的颜色,提高去噪质量。
更进一步的方案是,预设距离值为简化的欧式距离、曼哈顿距离、闵氏距离、切比雪夫距离、余弦距离中的一种。
可见,简化的欧式距离、曼哈顿距离、闵氏距离、切比雪夫距离、余弦距离都是常见的用于图像滤波计算的距离值,使用上述距离值可以简化图像去噪计算的工作量。
更进一步的方案是,对分层搜索区域进行下采样时,执行高斯滤波计算;和/或对下采样图像进行上采样时,执行高斯滤波计算。
由此可见,在进行上采样以及下采样时均进行高斯滤波,可以提高分层搜索区域图像的平滑性,去噪计算效果更加理想。
为实现上述的另一目的,本发明提供的计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述基于图像金字塔的图像去噪方法的各个步骤。
为实现上述的再一目的,本发明提供计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述基于图像金字塔的图像去噪方法的各个步骤。
附图说明
图1是本发明基于图像金字塔的图像去噪方法实施例的流程图。
图2是常见raw图像四种bayer格式排列的示意图。
图3是本发明基于图像金字塔的图像去噪方法实施例中图像金字塔的计算流程图。
图4是本发明基于图像金字塔的图像去噪方法实施例中非局部均值去噪计算的流程图。
以下结合附图及实施例对本发明作进一步说明。
具体实施方式
本发明的基于图像金字塔的图像去噪方法应用在智能电子设备上,优选的,智能电子设备设置有摄像装置,如摄像头等,摄像装置具有诸如cmos等图像传感器,智能电子设备利用摄像装置获取初始图像,本方法就是对图像传感器获取的初始图像进行色彩噪声的处理方法。优选的,智能电子设备设置有处理器以及存储器,存储器上存储有计算机程序,处理器通过执行该计算机程序实现基于图像金字塔的图像去噪方法。
基于图像金字塔的图像去噪方法实施例:
本实施例主要是针对图像传感器获取的初始图像进行去噪方法,具体的,本实施例在原始raw图像上将以待去噪像素中心n×n范围的图像区域作为处理区域,对该区域的像素进行多次下采样形成高斯金字塔图像,根据区域大小,可得到2~m层(m根据区域大小确定)高斯金字塔图像,然后,对高斯金字塔图像进行处理,得到1~m-1层拉普拉斯金字塔图像,在每层拉普拉斯金字塔图像上使用nlm方法对中心像素进行去噪计算,最后合成得到最终去噪后的图像。通过上述方法图像的纹理得以保留,可以获得高质量的去噪图像,且去噪计算量较少,对实现硬件要求较低。
下面结合图1对本实施例进行详细说明。首先,执行步骤s1,获取初始图像,并且对初始图像进行预处理。本实施例中,初始图像是由cmos图像传感器输出的图像,初始图像的色彩信息是rgb信息。由于本实施例是针对具有ycbcr信息的图像进行处理,因此,如果cmos图像传感器输出的初始图像为rgb图像,则需要对初始图像进行预处理,获得每一个像素的ycbcr信息。其中,y是像素的亮度值,cb是像素的蓝色色度值,cr是像素的红色色度值。本实施例是基于每一像素的cb、cr对图像的色彩噪声进行处理。
步骤s1中,需要对raw图像像素预处理,将原始raw图像转换为近似的亮度和色度图像。参见图2,图2是最常见raw图像四种bayer格式排列,对于图中每一个像素,利用其周围3×3区域内的像素,得到近似的亮度y和色度cr/cb信息。
具体的,针对图2(a)的格式排列,可以使用下面公式进行计算:
y=(4×g11 b01 r10 r12 b21)/16
cr=(r10 r12)/2
cb=(b01 b21)/2(式3)
针对图2(b)的格式排列,可以使用下面公式进行计算:
y=(4×g11 b10 r01 r21 b12)/16
cr=(r01 r21)/2
cb=(b10 b12)/2(式4)
针对图2(c)的格式排列,可以使用下面公式进行计算:
y=(4×r11 b00 b02 b20 b22 2(g01 g10 g12 g21))/16
cr=r11
cb=(b00 b02 b20 b22)/4(式5)
针对图2(d)的格式排列,可以使用下面公式进行计算:
y=(4×b11 r00 r02 r20 r22 2(g01 g10 g12 g21))/16
cr=(r00 r02 r20 r22)/4
cb=b11(式6)
在对图像进行预处理后,执行步骤s2,获取待去噪像素的分层搜索区域。本实施例需要对图像的每一个像素进行去噪操作,因此,先获取图像中的一个像素,该像素即为当前的待去噪像素。本实施例中,以待去噪像素为中心的m×m个像素所在的区域作为分层搜索区域,本实施例以m的取值为33进行说明。
然后,执行步骤s3,以分层搜索区域的像素为基础,生成高斯图像金字塔,本实施例的高斯图像金字塔也就是第一图像金字塔。具体的,分别对分层搜索区域内像素的色彩信息进行图像金字塔处理,即对像素的y/cr/cb信息进行金字塔处理。参见图3,下面以对像素的亮度值信息,即y信息进行金字塔处理的步骤进行详细说明,红色浓度信息cr与蓝色浓度信息cb的处理方式与亮度值信息的处理方式相同。
首先,执行步骤s21,获取分层搜索区域内各像素的色度值信息,即y信息,以分层搜索区域整层像素作为高斯金字塔的第一层图像,即执行步骤s22,由于分层搜索区域的范围是33×33,因此高斯金字塔第一层图像的范围也是33×33。
然后,执行步骤s23,对分层搜索区域内的每一个像素进行高斯滤波,高斯滤波使用sigma=1.4的5×5高斯内核,其滤波模板为:
然后,执行步骤s24,对高斯滤波后的分层搜索区域进行下采样,具体的执行1/2下采样。具体的,1/2下采样的方法是以待去噪像素为中心点,保留偶数行和偶数列的像素,即将奇数行与奇数列的像素去除。下采样是采样后像素的数量小于原图像的像素数量的采样方式,而1/2下采样是采样后的图像的像素行数、列数为原图像的行数、列数的1/2的采样方式。
经过第一次1/2下采样后,获得高斯金字塔第二层图像,即执行步骤s25,可见,高斯金字塔第二层图像的像素行数与列数均为17,因此高斯金字塔第二层图像的范围也是17×17。
如此类推,继续对高斯金字塔的第二层图像进行高斯滤波,即执行步骤s29,进行高斯滤波时也是使用步骤s23采用的滤波模板进行滤波,并执行步骤s32,对高斯金字塔的第二层图像进行1/2下采样,获得高斯金字塔的第三层图像,即执行步骤s33,高斯金字塔第二层图像的像素行数与列数均为9,因此高斯金字塔第三层图像的范围为9×9。
继续对高斯金字塔的第三层图像进行高斯滤波,即执行步骤s35,进行高斯滤波时也是使用步骤s23采用的滤波模板进行滤波,并执行步骤s38,对高斯金字塔的第三层图像进行1/2下采样,获得高斯金字塔的第四层图像,即执行步骤s39,高斯金字塔第四层图像的像素行数与列数均为5,因此高斯金字塔第四层图像的范围为5×5。
本实施例中,高斯图像金字塔的每一层均为下采样获得的图像,因此高斯图像金字塔的每一层图像均为一层下采样图像。
在获得高斯金字塔图像后,执行步骤s4,通过高斯图像金字塔获取拉普拉斯图像金字塔。具体的,将高斯图像金字塔的每一下采样图像进行上采样,将上采样后的图像与该下采样图像的下一层图像相减后获得一层相减图像,多层相减图像形成第二图像金字塔,即拉普拉斯金字塔图像。
例如,针对高斯金字塔第二层图像执行步骤s26,对高斯金字塔第二层图像进行2倍上采样。上采用是采样后像素的数量大于原图像的像素数量的采样方式,而2被上采样是采样后的图像的像素行数、列数为原图像的行数、列数的2倍的采样方式。通常,上采样需要进行插值运算。
本实施例中,对高斯金字塔的图像进行上采样时,需要进行高斯滤波,例如使用sigma=1.4的5×5高斯内核进行滤波,滤波模板为:
对高斯金字塔第二层图像进行2倍上采样后,执行步骤s27,将高斯金字塔第一层图像与高斯金字塔第二层图像上采样得到的图像进行相减的操作,从而获得拉普拉斯金字塔第一层图像,即执行步骤s28。由于高斯金字塔第一层图像的范围是33×33,高斯金字塔第二层图像经过上采样后的范围也是33×33,因此拉普拉斯金字塔第一层图像的范围也是33×33。
如此类推,对高斯金字塔第三层图像也进行2倍上采样,并且将高斯金字塔第二层图像与高斯金字塔第三层图像上采样得到的图像进行相减的操作,即执行步骤s30,从而获得拉普拉斯金字塔第二层图像,即执行步骤s31。由于高斯金字塔第二层图像的范围是17×17,高斯金字塔第三层图像经过上采样后的范围也是17×17,因此拉普拉斯金字塔第二层图像的范围也是17×17。
最后,对高斯金字塔第四层图像也进行2倍上采样,并且将高斯金字塔第三层图像与高斯金字塔第四层图像上采样得到的图像进行相减的操作,即执行步骤s36,从而获得拉普拉斯金字塔第三层图像,即执行步骤s37。由于高斯金字塔第而层图像的范围是9×9,高斯金字塔第四层图像经过上采样后的范围也是9×9,因此拉普拉斯金字塔第三层图像的范围也是9×9。可见,由于拉普拉斯图像金字塔的每一层图像均由两层高斯图像金字塔的图像经过相减计算获得的,因此拉普拉斯图像金字塔的每一层图像均为一层相减图像,多层相减图像构成了作为第二图像金字塔的拉普拉斯图像金字塔。需要说明的是,在下采样与上采样时,采用高斯滤波并不是必须的,即可以不进行高斯滤波,或者使用类似的单峰函数也能取得相近效果。
经过以上处理后,得到了具有三层结构的拉普拉斯图像金字塔,拉普拉斯图像金字塔的高层图像可反映小尺度的图像纹理信息,低层图像可反映大尺度的图像边缘信息,所以用金字塔分层的方式,在空间上将图像分成不同的频段,有利于后续精细化去噪处理。
然后,执行步骤s5,对拉普拉斯图像金字塔的各层图像以及高斯图像金字塔最高层图像(第四层)进行非局部均值去噪计算。具体的,参见图4,先执行步骤s51,获取拉普拉斯图像金字塔的各层图像以及高斯图像金字塔最高层图像,然后,执行步骤s52,获取每一层图像对应的去噪搜索区域。
以亮度值y信息为例,设定拉普拉斯图像金字塔的第一、第二、第三层图像以及高斯图像金字塔最高层图像对应的去噪搜索区域分别是9×9、5×5、5×5、5×5。可见,拉普拉斯图像金字塔的第一的去噪搜索区域大于高斯图像金字塔最高层图像的去噪搜索区域。
接着,执行步骤s53,在预设范围内计算各个去噪搜索区域内的预设距离值。本实施例设定的预设范围是3×3的范围,即待去噪像素为中心的3×3范围作为预设范围,预设距离是简化的高斯欧式距离,因此使用以下的公式计算预设距离值d(i,j):
其中,y(ni)和y(nj)分别为以待去噪像素为中心的3×3区域图像块和搜素区域任意像素为中心的3×3区域图像块内的对应像素,ga为3×3高斯模板,例如使用以下的模板:
接着,执行步骤s54,判断预设距离值是否小于预设的噪声阈值np(yi,k),即简化的高斯欧式距离与预设的噪声阈值np(yi,k)进行比较。
本实施例定义变量sum_y、sum_cr、sum_cb以及变量cnt,变量sum_y、sum_cr、sum_cb为符合要求的像素色度值累加值,即符合要求的像素的亮度值y、红色浓度信息cr、蓝色浓度信息cb的累加值,cnt为符合要求的像素的数量,变量sum_y、sum_cr、sum_cb以及变量cnt的初始值均为0。步骤s54需要将计算的距离值d(i,j)与预设的噪声阈值np(yi,k)进行比较,判断预设距离值d(i,j)是否小于噪声阈值np(yi,k),如是,表示该搜索区域内的3×3范围为符合要求的范围,则执行步骤s55,将该去噪搜索区域的3×3范围内的各个像素的色度值累加至变量sum_y、sum_cr、sum_cb,变量cnt自增一次。当遍历完目标去噪区域内的所有3×3范围后,变量sum_y、sum_cr、sum_cb的值是所有符合要求的3×3范围的像素的色度值之和,变量cnt的值是所有符合要求的3×3范围的像素的数量。
步骤s55可以使用下面的函数实现:
if(d(i,j)<np(yi,k))
{sum_y =y(j);sum_cr =cr(j);sum_cb =cb(j);cnt ;}
优选的,噪声阈值np(yi,k)是根据cmos传感器的特性,通过提前标定获得,且噪声阈值np(yi,k)与像素的亮度值大小相关相关。更优选的,噪声阈值np(yi,k)正关系于图像传感器的特性值以及像素的亮度值。其中,噪声阈值np(yi,k)的k取值为0、1、2、3,分别代表拉普拉斯金字塔第一、第二、第三层图像和高斯金字塔最高层图像,这样可以单独控制图像各频段的平滑程度。
当然,公式7采用的是简化的高斯欧式距离,实际应用时,还可以使用其他的距离作为预设距离值,例如曼哈顿距离、闵氏距离、切比雪夫距离、余弦距离等,也可以获得相同的效果。
如果步骤s54的判断结果为否,则表示预设距离值不符合设定的要求,则不会将该范围内的像素值的色度值增加值变量sum_y、sum_cr、sum_cb中。
接着,执行步骤s56,判断去噪区域内各个3×3大小的区域是否都遍历完毕,如没有,则执行步骤s58,在去噪搜索区域内获取下一个3×3大小的区域,并返回执行步骤s53,计算新的3×3范围的图像块与以待去噪像素为中心的3×3区域图像块的预设距离值。
如果遍历完成整个去噪区域内的所有3×3区域图像块,则执行步骤s57,计算色度值的平均值,例如使用以下的公式计算:
y(i)_nr=sum_y/cnt
cr(i)_nr=sum_cr/cnt
cb(i)_nr=sum_cb/cnt(式8)
通过以上步骤,即得到拉普拉斯金字塔第一层、第二层、第三层图像和高斯金字塔最高层图像去噪后的色度值y(i,k)_nr、cr(i,k)_nr以及cb(i,k)_nr,其中k取值为0、1、2、3,分别代表拉普拉斯金字塔第一、第二、第三层图像和高斯金字塔最高层图像。
可见,本实施例是计算拉普拉斯金字塔图像每一层的去噪搜索区域与预设范围的预设距离值,并计算高斯金字塔图像最高层的去噪搜索区域与预设范围的预设距离值,计算各层所有预设距离值小于噪声阈值的像素的色度值的平均值。
上述采用3×3的范围作为预设范围,实际应用时,并不限于采用3×3的图像块作为预设范围,预设范围可以根据实际情况放大或者缩小。
至此,完成步骤s5的去噪计算,得到去噪色度值,即y(i,k)_nr、cr(i,k)_nr以及cb(i,k)_nr,然后执行步骤s6,进行像素的图像合成。本实施例使用去噪前的各层像素的色度值与去噪后的各层像素的色度值进行加权合成。具体可以使用下面的公式计算各像素合成后的色度值:
y(i)_final=w0×y(i,0) (1-w0)×y(i,0)_nr
w1×y(i,1) (1-w1)×y(i,1)_nr
w2×y(i,2) (1-w2)×y(i,2)_nr
w3×y(i,3) (1-w3)×y(i,3)_nr(式9)
cr(i)_final=w0×cr(i,0) (1-w0)×cr(i,0)_nr
w1×cr(i,1) (1-w1)×cr(i,1)_nr
w2×cr(i,2) (1-w2)×cr(i,2)_nr
w3×cr(i,3) (1-w3)×cr(i,3)_nr(式10)
cb(i)_final=w0×cb(i,0) (1-w0)×cb(i,0)_nr
w1×cb(i,1) (1-w1)×cb(i,1)_nr
w2×cb(i,2) (1-w2)×cb(i,2)_nr
w3×cb(i,3) (1-w3)×cb(i,3)_nr(式11)
其中,w0、w1、w2、w3为预设的加权系数,可以单独控制图像各频段的去噪程度和最终图像的主观感受。
由于初始图像是raw图像,即色彩信息为rgb的图像,因此,需要执行步骤s7,对输出的色度值进行色彩信息的转换计算,通过线性变换得到去噪后的raw像素信息。由于raw图像有多种bayer格式排列,例如图2所示的4种最常见的bayer格式排列,因此需要针对不同的bayer格式排列进行转换。例如,针对图2(a)与图2(b)的情况,即若中心像素为g的情况,可以使用下面的公式计算:
g_final=4×y(i)_final-(cr(i)_final cb(i)_final)/2(式12)
针对图2(c)情况,即若中心像素为r的情况,可以使用下面的公式计算:
r_final=cr(i)_final(式13)
针对图2(d)情况,即若中心像素为b的情况,可以使用下面的公式计算:
b_final=cb(i)_final(式14)
至此,完成一个待去噪像素的去噪计算,得到一个待去噪像素的输出色度值。
最后,执行步骤s8,判断是否初始图像所有像素的去噪计算都执行完毕,如已经执行完毕,则可以输出图像的数据,如果没有,则执行步骤s9,获取下一个像素,并返回步骤s2,获取该像素对应的分层搜索区域,并对该像素进行去噪计算,直到所有像素都计算完毕,也就是通过滑动窗口的方法,完成对整幅图像的去噪。
可见,本实施例通过采用图像金字塔的方式进行去噪计算,整体计算量可降低80%以上,从而减少占用的存储器的存储空间,且均值滤波的计算量也大幅度减少。此外,利用图像金字塔将原始图像划分为不同的频段,在每一频段上分别寻找相似图像块,准确度大大提高,同时可以单独控制各频段的去噪强度以及最终的合成系数,在去除噪声的同时能够有效保持图像的细节纹理和清晰度。另外,本实施例能够适用于raw图像的去噪,满足不同传感器的使用需求。
计算机装置实施例:
本实施例的计算机装置可以是智能电子设备,该计算机装置包括有处理器、存储器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述基于图像金字塔的图像去噪方法的各个步骤。当然,智能电子设备还包括摄像装置,用于获取初始图像。
例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由处理器执行,以完成本发明的各个模块。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在终端设备中的执行过程。
本发明所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现终端设备的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
计算机可读存储介质:
上述计算机装置所存储的计算机程序如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述基于图像金字塔的图像去噪方法的各个步骤。
其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
最后需要强调的是,本发明不限于上述实施方式,例如滤波模板的变化,或者进行均值滤波的具体算法的变化等,这些改变也应该包括在本发明权利要求的保护范围内。
1.一种基于图像金字塔的图像去噪方法,包括:
获取初始图像,计算所述初始图像的每一像素的输出色度值;
其特征在于,计算每一像素的输出色度值包括:
获取待去噪像素的分层搜索区域,并获取所述分层搜索区域内各个像素的初始色度值,对所述分层搜索区域进行至少一次下采样,每次所述下采样后获得一层下采样图像,多层所述下采样图像形成第一图像金字塔;
将每一所述下采样图像进行上采样,将上采样后的图像与该下采样图像的下一层图像相减后获得一层相减图像,多层所述相减图像形成第二图像金字塔;
将所述第二图像金字塔的每一层所述相减图像与所述第一图像金字塔的最高层下采样图像进行均值去噪,获得去噪色度值;
使用所述初始色度值与所述去噪色度值计算所述输出色度值。
2.根据权利要求1所述的基于图像金字塔的图像去噪方法,其特征在于:
获得去噪色度值包括:设定每一所述相减图像与最高层下采样图像的去噪搜索区域,在预设范围内计算预设距离值,计算所有所述预设距离值小于噪声阈值的像素的色度值的平均值。
3.根据权利要求2所述的基于图像金字塔的图像去噪方法,其特征在于:
所述噪声阈值正关系于图像传感器的特性值和/或像素的亮度值。
4.根据权利要求2所述的基于图像金字塔的图像去噪方法,其特征在于:
至少一层所述相减图像的去噪搜索区域大于最高层下采样图像的去噪搜索区域。
5.根据权利要求4所述的基于图像金字塔的图像去噪方法,其特征在于:
在预设范围内计算预设距离值,计算所有所述预设距离值小于噪声阈值的像素的色度值的平均值包括:
计算每一层所述相减图像的去噪搜索区域与预设范围的预设距离值,并计算最高层下采样图像的去噪搜索区域与预设范围的预设距离值,计算各层所有所述预设距离值小于噪声阈值的像素的色度值的平均值。
6.根据权利要求1至4任一项述的基于图像金字塔的图像去噪方法,其特征在于:
使用所述初始色度值与所述去噪色度值计算所述输出色度值包括:使用所述初始色度值、各层的去噪色度值以及预设的加权系数计算所述输出色度值。
7.根据权利要求1至4任一项述的基于图像金字塔的图像去噪方法,其特征在于:
预设距离值为简化的高斯欧式距离、曼哈顿距离、闵氏距离、切比雪夫距离、余弦距离中的一种。
8.根据权利要求1至4任一项所述的基于图像金字塔的图像去噪方法,其特征在于:
对所述分层搜索区域进行下采样时,执行高斯滤波计算;和/或
对所述下采样图像进行上采样时,执行高斯滤波计算。
9.计算机装置,其特征在于,包括处理器以及存储器,所述存储器存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述基于图像金字塔的图像去噪方法的各个步骤。
10.计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至8中任意一项所述基于图像金字塔的图像去噪方法的各个步骤。
技术总结