西交大数字图像处理第六次作业.docx
《西交大数字图像处理第六次作业.docx》由会员分享,可在线阅读,更多相关《西交大数字图像处理第六次作业.docx(17页珍藏版)》请在冰豆网上搜索。
数字图像处理第六次作业
姓名:
班级:
学号:
提交日期:
2015年4月27日
1、在测试图像上产生高斯噪声lena图-需能指定均值和方差;并用滤波器(自选)恢复图像;
(1)问题分析:
图像退化模型:
图像退化过程被建模为一个退化函数和一个加性噪声项,对一幅输入图像f(x,y)进行处理,产生一副退化后的图像g(x,y)。
给定g(x,y)和关于退化函数H的一些知识以及关于加性噪声项η(x,y)的一些知识后,图像复原的目的就是获得原始图像的一个估计。
如果H是一个线性的、位置不变的过程,那么空间域中的退化图像可由下式给出:
g(x,y)=h(x,y)★f(x,y)+η(x,y)
其中,h(x,y)是退化函数的空间表示;符号’★”表示空间卷积.
等价的频率域表示:
G(u,v)=H(u,v)F(u,v)+N(u,v)
高斯噪声:
所谓高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。
一个高斯随机变量z的PDF可表示为:
P(z)=
其中z代表灰度,u是z的均值,是z的标准差。
高斯噪声的灰度值多集中在均值附近。
算术均值滤波器:
令Sxy表示中心在点(x,y)处,大小为m×n的矩形子图像窗口的一组坐标。
算术均值滤波器在Sxy定义的区域中计算被污染的图像g(x,y)的平均值。
在点(x,y)处复原图像的值:
这个操作可以使用大小为m×n的一个空间滤波器来实现,其所有系数均为其值的1/mn。
均值滤波器平滑一幅图像中的局部变化,虽然模糊了结果,但降低了噪声。
中值滤波器:
统计排序滤波器是空间域滤波器,空间滤波器的响应是基于由该滤波器包围的图像区域中的像素值的排序。
中值滤波器使用一个像素邻域中灰度级的中值来替代该像素值,即:
编程思路:
首先利用imnoise函数给图像添加高斯噪声,之后分别利用算术平均值滤波器和中值滤波器进行滤波并观察效果。
(2)MATLAB函数:
g=imnoise(f,type,parameters)
函数功能:
使用函数imnoise来用噪声污染一幅图像、
调用格式:
J=imnoise(I,type)
J=imnoise(I,type,parameters)
参数Type对应的噪声类型如下:
'gaussian'高斯白噪声
'localvar'0均值白噪声
'poisson'泊松噪声
'salt&pepper'盐椒噪声
'speckle'乘性噪声
(3)处理结果:
1)添加高斯噪声
lena.bmp原始图像lena添加高斯噪声(u=0,s^2=0.01)
lena添加高斯噪声(u=0,s^2=0.05)lena添加高斯噪声(u=0,s^2=0.1)
lena添加高斯噪声(u=0.1,s^2=0.01)lena添加高斯噪声(u=0.5,s^2=0.01)
2)图像恢复(选取被均值为0,方差为0.01的高斯噪声污染的图像为例)
利用算术均值滤波器恢复图像(5x5模板)
lena添加高斯噪声(u=0,s^2=0.01)算术均值滤波的结果
利用中值滤波器恢复图像(5x5模板)
lena添加高斯噪声(u=0,s^2=0.01)中值滤波的结果
(4)结果分析及总结:
①首先通过imnoise函数分别产生了被不同均值和方差的高斯噪声污染的图像。
当高斯噪声均值不变为0时,随着方差增加,图像噪声越严重;当高斯噪声方差不变时,均值会影响到整个图像的灰度值,使整个图像变亮。
与理论上均值和方差对图像的影响一致。
②分别使用算术均值滤波器和中值滤波器对加噪图像进行恢复。
两种方法在一定程度上都可以降低噪声。
算术均值滤波器降低噪声的同时也模糊了图像。
2、推导维纳滤波器并实现下边要求;
(a)实现模糊滤波器如方程Eq.(5.6-11).
(b)模糊lena图像:
45度方向,T=1;
(c)再模糊的lena图像中增加高斯噪声,均值=0,方差=10pixels以产生模糊图像;
(d)分别利用方程Eq.(5.8-6)和(5.9-4),恢复图像。
(1)问题分析:
1)维纳滤波器的推导:
图像的退化模型为:
(1)
其中,s(n1,n2)为原始图像,b(n1,n2)为退化函数,w(n1,n2)为噪声函数,x(n1,n2)为退化
的图像。
并假设s与w不相关,w为0均值的平稳随机过程。
图像的复原模型为:
(2)
其中,为恢复的图像,为恢复滤波器。
误差度量为:
(3)
基于正交性原理,若要求误差最小,则必有下式成立:
(4)
将(3)式带入(4)式有:
(5)
即
(6)
换元得:
(7)
等式两端同时取傅里叶变换得:
(8)
即
(9)
公式(8)中
(10)
公式(10)两端同时取傅里叶变换得:
(11)
公式(8)中
(12)
公式(12)两端同时取傅里叶变换:
(13)
将(11)式和(13)式带入(8)式得
(14)
将符号化成与书中一致的表示
(15)
故表达式由下式给出
(16)
2)约束最小二乘方滤波
对于约束最小二乘方滤波,期望是找一个最小准则函数C,定义如下:
(17)
其约束为
(18)
其中,是欧几里得向量范数,是未退化图像的估计。
这个最佳问题在频率域中的解决由下面的表达式给出:
(19)
其中,是一个参数,必须对它进行调整以满足式(18)的条件,P(u,v)是函数
(20)
的傅里叶变换。
(2)MATLAB函数:
1)imfilter
功能:
对任意类型数组或多维图像进行滤波。
用法:
B=imfilter(A,H)
B=imfilter(A,H,option1,option2,...)
或写做g=imfilter(f,w,filtering_mode,boundary_options,size_options)
其中,f为输入图像,w为滤波掩模,g为滤波后图像。
filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。
boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。
具体参数选项见下表:
选项
描述
filtering_mode
‘corr’
通过使用相关来完成,该值为默认。
‘conv’
通过使用卷积来完成。
boundary_options
‘X’
输入图像的边界通过用值X(无引号)来填充扩展,其默认值为0。
‘replicate’
图像大小通过复制外边界的值来扩展。
‘symmetric’
图像大小通过镜像反射其边界来扩展。
‘circular’
图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options
‘full’
输出图像的大小与被扩展图像的大小相同
‘same’
输出图像的大小与输入图像的大小相同。
这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。
2)fspecial
功能:
fspecial函数用于建立预定义的滤波算子。
用法:
h=fspecial(type)
h=fspecial(type,para)
其中type指定算子的类型,para指定相应的参数;
选项
描述
type
'average'
averagingfilter为均值滤波,参数为hsize代表模板尺寸,默认值为[33]
'disk'
circularaveragingfilter为圆形区域均值滤波,参数为radius代表区域半径,默认值为5.
'gaussian'
Gaussianlowpassfilter为高斯低通滤波,有两个参数,hsize表示模板尺寸,默认值为[33],sigma为滤波器的标准值,单位为像素,默认值为0.5.
'laplacian'
laplacianfilter为拉普拉斯算子,参数alpha用于控制算子形状,取值范围为[0,1],默认值为0.2。
'log'
LaplacianofGaussianfilter
为拉普拉斯高斯算子,有两个参数,hsize表示模板尺寸,默认值为[33],sigma为滤波器的标准差,单位为像素,默认值为0.5.
'motion'
motionfilter为运动模糊算子,有两个参数,表示摄像物体逆时针方向以theta角度运动了len个像素,len的默认值为9,theta的默认值为0;
'prewitt'
Prewitthorizontal
edge-emphasizingfilter
用于边缘增强,大小为[33],无参数
'sobel'
Sobelhorizontal
edge-emphasizingfilter
用于边缘提取,无参数
'unsharp'
unsharpcontrastenhancementfilter