专利名称:一种基于中值滤波器的图像噪声去除方法和装置的利记博彩app
技术领域:
本发明涉及图像去噪,尤其涉及用于Bayer图像空间或经过插值后的RGB图 像空间的图像去噪方法和装置。
背景技术:
图像去噪是ISP流程中重要的一个单元,用于图像去噪的方法有很多,目前 大多数基于中值滤波器的图像去噪方法都很简单。一般传统的图像去噪方法参见图 1 ,对于当前点先按一定方式从周围的像素点中取出三组,分别求这三组的中值* 1 、 * 2和c|) 3。然后对当前点做去噪处理,如果当前点位于边缘(edge )则进行edge 保护处理。
采用上述传统的方法进行去噪,去噪效果不是^L好,且有时会引入新的噪声, 尤其是对图像中存在坏点的情况,去噪效果更加不理想。
发明内容
本发明的目的在于提供一种基于中值滤波器的图像噪声去除方法和装置,它 能去除传感器的线性噪声以及一部分随机噪声,去除传感器图像中的一些坏点以及 防止去噪过程造成的过度去噪。
本发明的技术方案为本发明提出了一种基于中值滤波器的图像噪声去除方 法,包括
对于当前点cur_pixel,从周围的像素点中取出三种组合,分别计算该三个组 合中每组像素点的中值4) 1、 (J)2和ci)3;
计算参考亮度值Y: Y=c|)2+[c]) 1+小3 — 2 *4>2] * h * [1-k * var],其中var =cM-4>1,且h、 k是两个可调的参数,用于控制去噪的强度;
判断当前点cur_pixel是否为坏点,如为坏点则令中间变量tmp—data =巾l ,否 贝'J令tmp—data = cur_pixel;判断当前点是否位于边缘,如果当前点位于边缘,则将参考亮度值Y限位于,其中亮度调整范围参数edge—limit 取值范围为0 255,并用限位之后的参考亮度值Y更新当前点cur_pixel,去噪完毕; 如果当前点不位于边缘,则进一步判断IY-tmp—datal和avoid—over—noise的 大小,其中avoid—over_noise是可调参数,表示避免过度去噪的阀值,如果IY-tmp—data | < avoid—over—noise,则用参考亮度值Y更新当前点,否则用tmp—data 更新当前点;
对图像中的每一像素点都重复上述步骤进行处理。
上述的基于中值滤波器的图像噪声去除方法,其中,对于从当前点的周围像 素点中所取出的任一组合,同组的其他像素点均以该当前点为中心点呈对称分布。
上述的基于中值滤波器的图像噪声去除方法,其中,判断当前点是否为坏点 的条件是判断lcurjixel -巾1 l和bad_pixel的大小,如果lcurjixel - cj) 1 I 〉 bad_pixel,则该当前点为坏点,否则该当前点不是坏点,其中bad_pixel是坏点检 测参数。
上述的基于中值滤波器的图像噪声去除方法,其中,判断当前点是否位于边 缘的条件是判断max_d的值和edge—par的大小,其中max—d是于第一步所取的 点中在水平方向上距离最远的两个点的数值之差和竖直方向上距离最远的两个点 的数值之差的最大值,edge_par是可调参数,表示边缘阀值,如果max_d > edge — par 则当前点位于边缘,否则当前点不位于边缘。
基于上述的方法,本发明还提出了一种基于中值滤波器的图像噪声去除装置, 该装置包括
取点模块,对于当前点cur_pixel,从周围的像素点中取三种组合; 中值计算模块,通过中值滤波器分别计算上述三种组合的像素点中值cM、 * 2和小3;
参考亮度^直计算才莫块,#4居7〉式Y = d>2+ [cj) 1 +*3 — 2 * cj)2] * h * [1 —k * var] 计算参考亮度值Y的数值,其中var= d)3-小l,且h、 k是两个可调的参数,用于 控制去噪的强度;
坏点处理模块,判断当前点cur_pixel是否为坏点,如当前点为坏点则令中间 变量tmp—data = 4> 1 , 否则令tmp—data = cur_pixel;边缘判断模块,判断当前点是否位于边缘;
边缘处理模块,对位于边缘的当前点做边缘保护处理,将参考亮度值Y限位
于[tmp—data — edge—limit, tmp—data + edge—limit],其中亮度调整范围参数edge—limit 取值范围为0~255,并使用限位之后的参考亮度值Y更新当前点cur_pixel;
非边缘处理模块,对非边缘的当前点做防止过度去噪的处理,如果IY -tmp—data | < avoid—over_noise,则用参考亮度值Y更新当前点,否则用tmp—data 更新当前点,其中avoid—over—noise是可调参数,表示避免过度去噪的阀值。
上述的基于中值滤波器的图像噪声去除装置,其中,该取点模块中,对于从 当前点的周围像素点中所取出的任一组合,同组的其他像素点均以该当前点为中心 点呈对称分布。
上述的基于中值滤波器的图像噪声去除装置,其中,该坏点处理模块中,判 断当前点是否为坏点的条件是判断lcurjixe1- (J) 1 |和bad_pixel的大小,如果 !cur_pixel - (!) 1 l〉bad_pixel,则该当前点为坏点,否则该当前点不是坏点,其中 bad_pixel是坏点检测参数。
上述的基于中值滤波器的图像噪声去除装置,其中,该边缘判断模块判断当 前点是否位于边缘的条件是判断max_d的值和edge — par的大小,其中max_d是 该取点模块所取的点中在水平方向上距离最远的两个点的数值之差和竖直方向上 距离最远的两个点的数值之差的最大值,edge—par是可调参数,表示边缘阀值, 如果max-d〉 edge-par则当前点位于边缘,否则当前点不位于边缘。
本发明对比现有技术有如下的有益效果本发明通过在传统的图像去噪过程 中增加在当前点为坏点的情况下对坏点的处理以及对处于非edge的当前点所进行 的防止过度去噪处理,使得本发明的方法对比现有技术,能够去除传感器的线性噪 声以及一部分随机噪声,去除传感器图像中的一些坏点以及防止去噪过程造成的过 度去噪。
图l是传统的图像去噪过程的流程图。
图2是本发明的图像去噪方法的一个较佳实施例的流程图。
图3是本发明的图像去噪方法的更细致的流程图。图4是本发明中取点方式的一个示例的示意图。 图5是本发明的图像去噪装置的框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。图2示出了本发明的图像噪声去除方法的一个大略的流程。请参见图2,首先, 按照一定方式从当前点周围的若干像素点中取出三组,分别通过中值滤波器求这三 组像素点各自的中值(M、巾2和巾3。然后,根据一定的条件判断当前点是否为坏 点,如果为坏点则对坏点做相应处理。最后,对当前点做去噪处理,如果当前点位 于edge,做edge保护处理,否则对当前点做防止过度去噪处理。图3对图2实施例进行了细化,请参见图2,下面是对图像噪声取出方法中各 步骤的详细描述。下面的步骤是以处理一个当前点cur_pixd为例,只要对图像中 的每一点都重复以下步骤就可以得到 一个去噪后的图像。步骤S10:对当前点cur_pixel,从周围的像素点中取出三种组合。图4示出了取点的一个示例。假设当前点curj)ixel为R5,从其周围5 x 5的 像素点中取出三组,取法如下第一组Rl、 R3、 R7、 R9、 R5;第二组R2、 R4、 R5、 R6、 R8;第三组R2、 R4、 R5、 R5、 R5、 R6、 R8。取点方式可以为合理的任意一种, 一般可以遵循如下规则对于从周围像素 点中取出的每一组点,同组的其他像素点均以当前点为中心对称分布。取点的方式 和个数都可以变化。步骤S11:分别计算这三组像素点的中值,即使用中值滤波器得到三个中值4) 1、 (J)2和c])3。步骤S12:计算参考亮度值Y。计算7〉式为Y二(J)2十[cj) 1+c))3 —2 *小2] * h * [1-k*var],其中var= 4)3-cH,且h、 k是两个可调的参数,用于控制去噪的强 度。步骤S13:判断当前点cur_pixel是否为坏点,如果是则进入步骤S14,否则 进入步骤S15。本实施例中,判断是否为坏点即是判断|cur_pixel - 4> 1 |和坏点检测参数 bad_pixel的大小。如果lcurjixel - c[) 1 | > bad_pixel,贝寸当前点cur_pixel是坏点。否贝'J当前点cur_pixel不是i不点。步骤S14:令中间变量tmp一data =小1 。 步骤S15:令中间变量tmp—data = cur_pixel 。步骤S16:求出所取的像素点中在水平方向上距离最远的两个点的数值之差和 竖直方向上距离最远的两个点的竖直之差,比较这两个差值,将其中较大的差值作 为max—d。在图4示例中,是比较IR2-R81与IR4-R61,将其中的较大值作为max一d。步骤S17:判断当前点cur_pixel是否位于边缘(edge )。判断当前点cur_pixel是否位于边缘的条件是判断max_d的值和edge — par 的大小,其中edge — par是可调参数,表示边缘阀值,如果max_d > edge — par则当 前点位于边缘,转到步骤S18;否则当前点不位于边缘,转到步骤S19。步骤S18 :将参考亮度值Y P艮位于[tmp—data - edge—limit, tmp_data + edge—limit],其中亮度调整范围参数edge—limit取值范围为0 255,并用限位之后 的参考亮度值Y更新当前点curj3ixel,去噪完毕。步骤S19 : 判断|Y - tmp—data |和 avoid—over—noise的大小,其中 avoid—over—noise是可调参数,表示避免过度去噪的阀值。如果IY - tmp—data | < avoid—over—noise,则转到步骤S20,否则转到步骤S21。步骤S20:使用参考亮度值Y更新当前点cur_pixel,去噪完毕。步骤S21:使用tmp—data更新当前点cur_pixel,去噪完毕。基于上述方法,本发明还提出了一种基于中值滤波器的图像噪声去除装置, 请参见图5。该装置包括取点模块51、中值计算模块52、参考亮度值计算模块 53、坏点处理模块54、边缘判断模块55、边缘处理模块56、非边缘处理模块57。取点模块51从当前点cur_pixel周围的像素点中取出三种组合。取点方式可以 为合理的任意一种, 一般遵循如下规则对于从周围像素点中取出的每一组点,同 组的其他像素点均以当前点为中心对称分布。当然,取点的方式和个数都可以变化。中值计算模块52通过中值滤波器计算这三组像素点的中值,分别得到三个中 值cH、 (J)2和cl)3。参考亮度值计算模块53计算参考亮度值Y,公式为Y = (J)2+ [cH+<l)3_2*ct)2]*h*[l_k*var],其中var = (J) 3 —cH ,且h、 k是两个可调的 参数,用于控制去噪的强度。坏点处理模块54判断当前点cur_pixel是否为坏点,即判断lcurj ixel - 4) 1 | 和坏点检测参数bad_pixel的大小。如果lcurjixe卜4> 1 |>bad_pixel,则当前点 curjDixel是坏点,令中间变量tmp一data = cj)l。否则当前点cur_pixel不是坏点,令 中间变量tmp—data = cur_pixel。边缘判断模块55判断当前点curj)ixel是否位于边缘,也即判断max_d的值和 edge—par的大小,edge—par是可调参数,表示边缘阀值。其中max-d这样计算得 到求出所取的像素点中在水平方向上距离最远的两个点的数值之差和竖直方向上 距离最远的两个点的竖直之差,比较这两个差值,将其中较大的差值作为max一d。 如果raax_d> edge_par则当前点位于边缘,由边缘处理模块56进一步运行;否则 当前点不位于边缘,由非边缘处理模块57进一步运行。边缘处理模块56对位于边缘的当前点cur —pixel做边缘保护处理,将参考亮 度值Y限位于[tmp—data - edge—limit, tmp—data + edge—limit],其中亮度调整范围参 数edge—limit取值范围为0 255,并用限位之后的参考亮度值Y更新当前点 cur__pixel。非边缘处理模块57对非边缘的当前点cur_pixel做防止过度去噪的处理,首先 判断IY — tmp—data |和avoid—over—noise的大小,其中avoid—over—noise是可调参 数,表示避免过度去噪的阀值。如果IY - tmp—data | < avoid—over—noise,则4吏用 参考亮度值Y更新当前点cur_pixel,否则使用tmp_data更新当前点cur_pixd。本发明的发明点在于在去噪过程中增加了对坏点的额外处理和对当前点非 边缘时的防止过度去噪处理。上述实施例是提供给本领域普通技术人员来实现或使用本发明的,本领域普 通技术人员可在不脱离本发明的发明思想的情况下,对上述实施例做出种种修改或 变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提 到的创新性特征的最大范围。
权利要求
1一种基于中值滤波器的图像噪声去除方法,包括对于当前点cur_pixel,从周围的像素点中取出三种组合,分别计算该三个组合中每组像素点的中值φ1、φ2和φ3;计算参考亮度值YY=φ2+[φ1+φ3-2*φ2]*h*[1-k*var],其中var=φ3-φ1,且h、k是两个可调的参数,用于控制去噪的强度;判断当前点cur pixel是否为坏点,如为坏点则令中间变量tmp_data=φ1,否则令tmp_data=cur_pixel;判断当前点是否位于边缘,如果当前点位于边缘,则将参考亮度值Y限位于[tmp_data-edge_limit,tmp_data+edge_limit],其中亮度调整范围参数edge_limit取值范围为0~255,并用限位之后的参考亮度值Y更新当前点cur_pixel,去噪完毕;如果当前点不位于边缘,则进一步判断|Y-tmp_data|和avoid_over_noise的大小,其中avoid_over_noise是可调参数,表示避免过度去噪的阀值,如果|Y-tmp_data |<avoid_over_noise,则用参考亮度值Y更新当前点,否则用tmp_data更新当前点;对图像中的每一像素点都重复上述步骤进行处理。
2.根据权利要求1所述的基于中值滤波器的图像噪声去除方法,其特征在于, 对于从当前点的周围像素点中所取出的任一组合,同组的其他像素点均以该当前点 为中心点呈对称分布。
3.根据权利要求1所述的基于中值滤波器的图像噪声去除方法,其特征在于, 判断当前点是否为坏点的条件是判断lcurj)ixel - 4> 1 |和bad_pixel的大小,如果 |cur_pixel - 4> 1 |>bad_pixel,则该当前点为坏点,否则该当前点不是坏点,其中 bad_pixel是坏点检测参数。
4.根据权利要求1所述的基于中值滤波器的图像噪声去除方法,其特征在于, 判断当前点是否位于边缘的条件是判断max—d的值和edge — par的大小,其中max_d是于第一步所取的点中在水平方向上距离最远的两个点的数值之差和竖直 方向上距离最远的两个点的数值之差的最大值,edge-par是可调参数,表示边缘 阀值,如果max-d> edge — par则当前点位于边缘,否则当前点不位于边缘。
5 . —种基于中值滤波器的图像噪声去除装置,该装置包括 取点模块,对于当前点cur_pixel,从周围的像素点中取三种组合; 中值计算模块,通过中值滤波器分别计算上述三种组合的像素点中值cH、 * 2和小3;参考亮度值计算才莫块,才艮据z^式Y = cJ)2+[c])l+(J)3 — 2*cJ)2]*h*[l—k* var] 计算参考亮度值Y的数值,其中var= 4)3-(H,且h、 k是两个可调的参数,用于 控制去噪的强度;坏点处理模块,判断当前点cur_pixel是否为坏点,如当前点为坏点则令中间 变量tmp—data = 4> 1, 否贝'J令tmp一data = cur_pixel; 边缘判断模块,判断当前点是否位于边缘;边缘处理模块,对位于边缘的当前点做边缘保护处理,将参考亮度值Y限位 于[tmp—data — edge—limit, tmp—data + edge—limit],其中亮度调整范围参数edge—limit 取值范围为0~255,并使用限位之后的参考亮度值Y更新当前点cur_pixel;非边缘处理模块,对非边缘的当前点做防止过度去噪的处理,如果IY -tmp_data | < avoid—over—noise,则用参考亮度值Y更新当前点,否则用tmp—data 更新当前点,其中avoid—over—noise是可调参数,表示避免过度去噪的阀值。
6.根据权利要求5所述的基于中值滤波器的图像噪声去除装置,其特征在于, 该取点模块中,对于从当前点的周围像素点中所取出的任一组合,同组的其他像素 点均以该当前点为中心点呈对称分布。
7.根据权利要求5所述的基于中值滤波器的图像噪声去除装置,其特征在于, 该坏点处理模块中,判断当前点是否为坏点的条件是判断lcurjixel - 4> 1 |和 bad_pixel的大小,如果!curj3ixel -巾l |>bad_pixel,则该当前点为坏点,否则该 当前点不是坏点,其中bad_pixel是坏点检测参数。
8.根据权利要求5所述的基于中值滤波器的图像噪声去除装置,其特征在于,该边缘判断模块判断当前点是否位于边缘的条件是判断raax—d的值和edge — par 的大小,其中max-d是该取点模块所取的点中在水平方向上距离最远的两个点的数 值之差和竖直方向上距离最远的两个点的数值之差的最大值,edge —par是可调参 数,表示边缘阀值,如果max_d〉 edge_par则当前点位于边缘,否则当前点不位于 边缘。
全文摘要
本发明公开了基于中值滤波器的图像噪声去除方法和装置,去除传感器的线性噪声和随机噪声,去除传感器图像的坏点及防止过度去噪。其技术方案为该方法包括对于当前点cur_pixel,从周围像素点中取三种组合,计算每组像素点的中值φ1、φ2和φ3;计算参考亮度值YY=φ2+[φ1+φ3-2*φ2]*h*[1-k*var],其中var=φ3-φ1;判断cur_pixel是否为坏点,如为坏点则令tmp_data=φ1,否则令tmp_data=cur_pixel;判断当前点是否位于边缘,如位于边缘,则将Y限位于[tmp_data-edge_limit,tmp_data+edge_limit],并更新cur_pixel,去噪完毕;如果不位于边缘,则进一步判断|Y-tmp_data|和avoid_over_noise的大小,如果|Y-tmp_data|<avoid_over_noise,则用Y更新当前点,否则用tmp_data更新当前点;对图像每一点重复上述步骤。本发明应用于图像去噪领域。
文档编号H04N5/217GK101316321SQ20071004144
公开日2008年12月3日 申请日期2007年5月30日 优先权日2007年5月30日
发明者冯晓光, 张本好, 林福辉, 静 胡 申请人:展讯通信(上海)有限公司