文档介绍:《数字图像处理》试验
汇报(三)
学 号:_______
姓 名:_______
专 业:__ 机械设计制造及其自动化
课序号:__________
计算机科学和技术学院
试验3 中值滤波
一、试验课时:2课时 + 2课外课时(本部分占试验成绩25%)
二、试验目标:
1、了解中值滤波(图像平滑处理)原理及步骤;
2、编程实现灰度图像中值滤波。
三、必需学习和掌握知识点:
空域中值滤波是一个有效且便捷图像平滑方法,常见于处理有独立噪声点图像,效果也很好,在对图像平滑处理中常见到。要求掌握该算法并能够编程实现之。
四、试验题目:
编程实现灰度图像中值滤波平滑处理。滤波模板大小自定(可为3×3、5×5、7×7、15×15等)。试验图像可从提供试验图像集中噪声图像中选择。
五、思索题:(选做,有加分)
编程实现灰度图像均值滤波平滑处理;也可尝试实现灰度图像锐化处理,包含Sobel、Prewitt、Roberts、Laplace等。
六、试验汇报:
请根据要求完成下面汇报内容并提交源程序、可实施程序文件和试验结果图像。
1、请具体描述本试验原理:
中值滤波原理:
中值滤波法是一个非线性平滑技术,它将每一像素点灰度值设置为该点某邻域窗口内全部像素点灰度值中值.
中值滤波是基于排序统计理论一个能有效抑制噪声非线性信号处理技术,中值滤波基础原理是把数字图像或数字序列中一点值用该点一个邻域中各点值中值替换,让周围像素值靠近真实值,从而消除孤立噪声点。方法是用某种结构二维滑动模板,将板内像素根据像素值大小进行排序,生成单调上升(或下降)为二维数据序列。二维中值滤波输出为g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分别为原始图像和处理后图像。W为二维模板,通常为3*3,5*5区域,也能够是不一样形状,如线状,圆形,十字形,圆环形等。
对于一串连续输入信号(量化后是一组数据)。以下图所表示,是输入原信号。中值滤波原理为,重新计算每一个x输出值(y),新输出值。相当于 y = new(x),new操作是,从在以x为中心,长度为2k原信号中(区间为[x-k+1,x+k]),提取出这段区间内中间那个值,作为 y=new(x)结果。
步骤阅读
2
 举例来说,输入:Y[1-10]:1,2,3,4,5,6,7,8,9,10. 取区间2k = 4,所以k=2;
实施中值滤波 K=中值滤波(Y)
由x-k+1>=1,所以当k=2时,x>=2
滤波时:
K[1]=Y[1]
K[2]=(Y[1]、Y[2]、Y[3]、Y[4])中间值,即为2或3
 
3
 matlab中值滤波实现方法:
调用函数:A = medfilt1(B,n)
B为输入信号,A为滤波后信号,即结果。
n为控制滤波区间参数。具体定义以下:
1、若n为基数,区间为[k-(n-1)/2,k+(n-1)/2],
2、若n为偶数,区间为[k-n/2,k+n/2+1],中值滤波表示用这个区间内中间值替换这一点值。
4
 对于输入信号(最开头图),以下分别为设置区间n=8和n=16得到滤波图像。中值滤波能够过滤尖峰脉冲。目标在于我们对于滤波后数据更感爱好。滤波后数据保留原图像改变趋势,同时去除了尖峰脉冲对分析造成影响。
步骤阅读
步骤阅读
END
2、请给出本试验关键源码(Matlab或C语言):
中值滤波
>> I=imread('C:\Users\wh\Desktop\photo\');
>> subplot(2,2,1),imshow(I);title('原图'); %显示原图像
>> J= imnoise(I,'salt & pepper',); %加上椒盐噪声
>> subplot(2,2,2),imshow(J);title('椒盐噪声图'); %显示加上椒盐图像
>>H=medfilt2(J); %中值滤波
>> subplot(2,2,3),imshow(H);title('处理后图'); %显示中值滤波后图像
均值滤波
I=imread('C:\Users\wh\Desktop\photo\');
%读入预处理图像
imshow(I)
%显示预处理图像