《Matlab图像处理图像平滑与滤波》由会员分享,可在线阅读,更多相关《Matlab图像处理图像平滑与滤波(7页珍藏版)》请在技术文库上搜索。
1、交换位置,对于矩阵 X,将其一、三象限和二、四象限进行互换,对于高维向量 X,将矩阵各维的两半进行互换。函数:ifft2 用于计算图像的二维傅立叶反变换。其调用格式为: Y = ifft2(X) ;Y = ifft2(X,M,N) ;ifft2 用于返回图像的二维傅立叶反变换矩阵,其参数定义同 fft2。例 1.5.3 对图 1.5.1 中加入椒盐噪声的图像进行截至频率 D0 为 25 的高斯低通滤波,其显示结果如图 1.5.4 所示。图 1.5.4 频域高斯低通滤波六、实验步骤:(1)对给定的图像添加均值为 0,方差分别为 200、400 的高斯噪声,以及概率分别为 0.1、0.2 的椒盐噪。
2、声,显示添加噪声后的图像。(2)对加噪图像分别进行 33、55、99 的均值滤波,显示并比较滤波结果。(3)对加噪图像分别进行 33、55、99 的中值滤波,显示并比较滤波结果。(4)对加噪图像进行截止频率 D0 分别为 10、25 的理想低通、巴特沃斯低通及高斯低通滤波,显示并比较滤波结果。七、思考题目:(1)原图像和处理后图像的比较。(2)均值滤波和中值滤波有哪些优缺点?主要区别?对所给图像,哪种方法效果更佳?(3) 窗口尺寸对滤波结果有什么影响?对所给图像应取多大?图 1.5.3 中值滤波(4) 频域低通滤波频域滤波的基本步骤为:1) 用(-1) x+y 乘以输入图像来进行频域中心变换;。
3、2) 由(1)计算图像的 DFT,即 I(u,v);3) 用滤波函数 H(u,v)乘以 I(u,v);4) 计算(3)中结果的反 DFT;5) 得到(4)中的实部;6) 用(-1) x+y 乘以(5)中的结果。MATLAB 图像处理工具箱提供了一些函数来进行傅立叶变换。函数:fft2 用于计算二维快速傅立叶变换。调用格式为:Y = fft2(X) ;Y = fft2(X,M,N);式中 X 是输入图像矩阵,Y 是 X 进行二维傅立叶变换后的图像矩阵;X 和Y大小相同。在 Y=fft2(X,M,N)中,按照 M、N 指定的值对图像进行剪切或补 0 后进行傅立叶变换,返回变换矩阵的大小为 MN。函。
4、数:fftshift fftshift 函数将变换后的图像频谱中心从矩阵的原点移到矩阵的中心。其调用格式为:Y = fftshift(X) ;Y = fftshift(X,DIM) ;fftshift 用于调整 fft、fft2 和 fftn 的输出结果。对于向量 X,将其左右两半 gd=imfilter(J,h); subplot(1,2,1);imshow(J);title(加入椒盐噪声的图像 ); subplot(1,2,2);imshow(gd);title(33 模板均值滤波);其显示结果如图 1.5.2 所示。图 1.5.2 均值滤波(3) 中值滤波器函数:medfilt2 中值滤。
5、波是一种最常用的非线性平滑滤波器,其滤波原理是把邻域中的图像的像素按灰度级进行排序,然后选择该组的中间值作为输出像素值。其调用格式为: B = medfilt2(A) B = medfilt2(A,M N)其中,A 是输入图像,B 是中值滤波后输出的图像。 M N指定滤波模板的大小,默认模板是 33 的。例 1.5.3 对图 1.5.1 中加入椒盐噪声的图像进行中值滤波,可以使用下列语句。 k=medfilt2(J); subplot(1,2,1);imshow(J);title(加入椒盐噪声的图像 ); subplot(1,2,2);imshow(k);title(33 模板中值滤波);其显。
6、示结果如图 1.5.3 所示。shape=full时,作边界补零shape=same时,返回图像 B 与输入图像 A 大小相同shape=valid时,不考虑边界补零,只计算有效输出部分。此外,也可以使用 imfilter 函数进行卷积或相关性滤波来实现图像平滑。该函数的调用格式为: B = imfilter(A,H) B = imfilter(A,H, option1,option2,)其中 B=imfilter(A,H)返回图像 A 经算子 h 滤波后的结果; B=imfilter(A,H, option 1, option 2,)是根据指定的 option 参数实现图像滤波。option。
7、 参数可以有下列取值:边界填充选项对一幅图像进行滤波时,零填充可能会导致图像被一个黑框围绕,为了消除零填充的人工痕迹,imfilter 函数支持三种可选的边界填充方法:symmetric 边界对称replicate 边界复制,缺省值circular 边界循环输出尺寸选项其选项与 filter2 函数的 shape 参数相同。滤波选项corr 使用相关性来进行滤波,缺省使用此方法conv 使用卷积方法实现滤波以上两个滤波函数的参数 h 可以是自定义的滤波器模板,也可以是MATLAB提供的预定义滤波器模板。函数 fspecial 生成滤波所用的预定义模板。其调用格式为: h = fspecial(。
8、type) h = fspecial(type,parameters)其中,参数 type 指定滤波器的种类,parameters 是与滤波器种类有关的具体参数。例 1.5.2 对图 1.5.1 中加入椒盐噪声的图像进行均值滤波,可以使用下列语句。 h=fspecial(average,3);表 5.1 噪声种类及参数说明TYPE PARAMETERS 说明gaussian m,v 均值为 m,方差为 v 的高斯噪声。默认值m=0,v=0.01localvar v 均值为 0,方差为 v 的高斯白噪声passion 无 泊松噪声salt & pepper d 噪声强度为 d 的椒盐噪声。默认值。
9、为 0.05speckle v 均值为 0,方差为 v 的均匀分布随机噪声例 1.5.1 给图像加上椒盐噪声,可以使用下列语句。 I=imread(ckt-board.tif); J=imnoise(I,salt & pepper,0.2);%给图像加入椒盐噪声 subplot(1,2,1);imshow(I);title(原始图像); subplot(1,2,2);imshow(J);title(加入椒盐噪声的图像 );其显示结果如图 1.5.1 所示。图 1.5.1 原始图像和加入噪声后的图像(2) 图像滤波函数:filter2、imfilter空域滤波是在图像空间中借助模板对图像进行邻域。
10、操作,输出图像每一个像素的取值都是根据模板对输入像素相应邻域内的像素值进行计算得到的。模板运算的数学涵义是一种卷积(或互相关)运算。 MATLAB 提供了基于卷积的图像滤波函数 filter2 进行平滑滤波,该函数用指定的滤波器模板对图像进行运算。其调用格式为: B = filter2(h,A) B = filter2(h,A,shape)其中 B=filter2(h,A)返回图像 A 经算子 h 滤波后的结果,参数 shape 指定滤波的计算范围,即:实验三、图像平滑与滤波一、实验题目:图像平滑与滤波二、实验目的:在熟悉图像平滑的基本原理和方法的基础上,在理论指导下,能在MATLAB 环境下。
11、对图像进行平滑处理。本实验要求用线性平滑滤波、中值平滑滤波、频域低通滤波的方法进行程序设计。经过平滑处理,对结果图像加以比较,得出自己的实验结论。三、实验内容:(1)利用 MATLAB 为用户提供的专门函数实现均值滤波。(2)利用 MATLAB 为用户提供的专门函数实现中值滤波。(3)编写频域理想低通、巴特沃斯低通及高斯低通滤波函数。四、预备知识:(1)熟悉平滑滤波原理。(2)熟悉频域滤波原理。(3)熟悉在 MATLAB 环境下对图像文件的 I/O 操作。五、实验原理:平滑滤波技术用于平滑图像中的噪声。平滑噪声可以在空间域中进行,基本方法是求像素灰度的平均值或中值。也可以在频域中用基于傅立叶的分析方法进行。这里对常用滤波函数进行简要介绍。(1) 噪声产生函数:imnoise 图像平滑主要是针对图像的各种噪声而言的,因此需要模拟数字图像的各种噪声来分析滤波效果。MATLAB 的图像处理工具箱提供了 imnoise 函数,可以用该函数给图像添加不同种类噪声,其调用格式为: J = imnoise(I, type, parameters) I 是输入图像,J 是对 I 添加噪声后的输出图像。表 5.1 列出了 imnoise 函数能够产生的五种噪声及其对应参数。。
如果觉得《matlab imfilter与fft Matlab图像处理图像平滑与滤波》对你有帮助,请点赞、收藏,并留下你的观点哦!