mean_image算子实现均值滤波,其原型如下:
其中,参数Image为输入参数;ImageMean为输出参数;MaskWidth均值滤波窗口的宽度;MaskHeight为均值滤波窗口的高度;
* 图像均值滤波
*读取图像
read_image(src,'fabrik')
* 添加噪声
add_noise_white(src,src_noise,10)
* 窗口为3x3
mean_image(src,result_3x3,3,3)
* 窗口为9x9
mean_image(src,result_9x9,9,9)
dev_display(result_3x3)
原图像:
均值滤波,窗口3x3滤波结果:
median_image算子实现中值滤波,其原型如下:
其中,参数Image为输入图像;ImageMedian为输出图像;MaskType为滤波类型,类型有circle, square;Radius为滤波窗口大小;Margin为边缘填充类型,建议值:‘mirrored’, ‘cyclic’, ‘continued’, 0, 30, 60, 90, 120, 150, 180, 210, 240, 255。
median_image(src,result,'circle',3,'mirrored')
dev_display(result)
滤波结果:
gaussian_image算子实现高斯滤波,其原型如下:
其中,参数Image为输入参数;ImageGauss为输出图像;Size为滤波窗口的大小。
``
*读取图像
read_image(src,‘fabrik’)
添加噪声
add_noise_white(src,src_noise,10)
窗口为3x3
gauss_filter(src,result,3)
dev_display(result)
``
滤波结果:
guided_filter算子实现导向滤波。其原型如下:
其中,参数Image为输入图像;ImageGuide为输入导向图像;ImageGuide为输出图像;Radius为滤波窗口大小;Amplitude控制边缘平滑度;
* 图像导向滤波
*读取图像
read_image(src,'fabrik')
* 添加噪声
add_noise_white(src,src_noise,10)
* 导向滤波
guided_filter(src,src,result,3,20)
dev_display(result)
运行结果:
bilateral_filter算子实现双边滤波。其原型为:
其中,参数Image为输入图像;ImageJoint为输入连接图像;ImageBilateral为输出图像;SigmaSpatial高斯最近大小;SigmaRange高斯近似值;GenParamName,GenParamValue为常规参数名称(sampling_method’, ‘sampling_ratio’)及其对应值( ‘grid’, ‘poisson_disk’, ‘exact’, 0.5, 0.25, 0.75, 1.0)。
* 图像双边滤波
* 读取图像
read_image(src,'fabrik')
* 添加噪声
add_noise_white(src,src_noise,20)
* 双边滤波
bilateral_filter(src_noise,src_noise,result,5,20,[],[])
dev_display(result)
程序结果: