优秀毕业论文——数字图像平滑滤波在MATLAB上的实现
优秀毕业论文——数字图像平滑滤波在MATLAB上的实现

优秀毕业论文——数字图像平滑滤波在MATLAB上的实现第 5 章图像平滑滤波在MATLAB上的实现本课程设计在MATLAB上实现的程序和结果 I=imread('b.bmp');v=0.5*ones(size(I)); I1=imnoise(I,'localvar',v);I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle',0.02);figure;subplot(221);hold on;title('原图像');imshow(I);hold off;subplot(222);hold on;title('受高斯噪声污染的图像');imshow(I1);hold off;subplot(223);hold on;title('受椒盐噪声污染的图像');imshow(I2);hold off;subplot(224);hold on;title('受乘性噪声污染的图像');imshow(I3);hold off;原图像受高斯噪声污染的图像受椒盐噪声污染的图像受乘性噪声污染的图像h=ones(3,3)/9;J1=imfilter(I1,h); J2=imfilter(I2,h); J3=imfilter(I3,h); figure; subplot(221);hold on;title('原图像');imshow(I);hold off;subplot(222);hold on;title('对有高斯噪声的3*3邻域平均后的图像'); imshow(J1);hold off;subplot(223);hold on;title('对有椒盐噪声的3*3邻域平均后的图像'); imshow(J2);hold off;subplot(224);hold on;title('对有乘性噪声的3*3邻域平均后的图像'); imshow(J3);hold off;原图像高斯噪声3*3邻域平均后的图像椒盐噪声3*3邻域平均后的图像乘性噪声3*3邻域平均后的图像h1=ones(5,5)/25;K1=imfilter(I1,h1); K2=imfilter(I2,h1); K3=imfilter(I3,h1); figure; subplot(221);hold on;title('原图像');imshow(I);hold off;subplot(222);hold on;title('对有高斯噪声的5*5邻域平均后的图像'); imshow(K1);hold off;subplot(223);hold on;title('对有椒盐噪声的5*5邻域平均后的图像'); imshow(K2);hold off;subplot(224);hold on;title('对有乘性噪声的5*5邻域平均后的图像');imshow(K3);hold off;原图像高斯噪声5*5邻域平均后的图像椒盐噪声5*5邻域平均后的图像乘性噪声的5*5邻域平均后的图像L1=medfilt2(I1,[5,5]); L2=medfilt2(I2,[5,5]); L3=medfilt2(I3,[5,5]); figure;subplot(221);hold on;title('原图像');imshow(I);hold off;subplot(222);hold on;title('高斯噪声5*5中值滤波后的图像'); imshow(L1);hold off;subplot(223);hold on;title('椒盐噪声5*5中值滤波后的图像');imshow(L2);hold off;subplot(224);hold on;title('乘性噪声的5*5中值滤波后的图像');imshow(L3);hold off;原图像高斯噪声5*5中值滤波后的图像椒盐噪声5*5中值滤波后的图像乘性噪声的5*5中值滤波后的图像[f1,f2]=freqspace(25,'meshgrid'); Hd=zeros(25,25);d=sqrt(f1.^2+f2.^2)<0.5; Hd(d)=1;h=fsamp2(Hd);figure;freqz2(h,[64,64]);1.510.5Magnitude10.510.500-0.5-0.5-1-1FyFxI=imread('b.bmp');v=0.5*ones(size(I));I1=imnoise(I,'localvar',v); I2=imnoise(I,'salt & pepper',0.02);I3=imnoise(I,'speckle',0.02); J1=imfilter(I1,h,'replicate');J2=imfilter(I2,h,'replicate'); J3=imfilter(I3,h,'replicate'); figure;subplot(221);hold on;title('原图像');imshow(I);hold off;subplot(222);hold on;title('高斯噪声频域滤波后图像');imshow(J1);hold off;subplot(223);hold on;title('椒盐噪声频域滤波后图像');imshow(J2);hold off;subplot(224);hold on;title('乘性噪声频域滤波后图像');imshow(J3);hold off;原图像高斯噪声频域滤波后图像椒盐噪声频域滤波后图像乘性噪声频域滤波后图像。
图像平滑的matlab实现论文概要

图像平滑的Matlab实现20101602310035 黄汉杰摘要随着图像处理领域的迅速发展,图像平滑作为图像处理中的重要环节,也逐渐受到人们的关注。
图像平滑的目的主要是消除噪声。
图像平滑方法按空间域和频率域的分类及各种方法的特点,图像平滑是对图像作低通滤波,可在空间域或频率域实现。
空间域图像平滑方法主要用均值滤波、中值滤波等;频率域图像平滑常用的低通滤波器有理想低通滤波器、布特沃斯低通滤波器、低通指数滤波器、低通梯形滤波器等。
关键词:图像平滑;噪声;空间域低通滤波;频域低通滤波引言:(1)在图像的获取和传输过程中原始图像会受到各种噪声的干扰,使图像质量下降。
为了抑制噪声、改善图像质量,要对图像进行平滑处理。
抑制或消除这些噪声而改善图像质量的过程称为图像的平滑。
图像平滑的目的是为了消除噪声。
噪声消除的方法又可以分为空间域或频率域,亦可以分为全局处理或局部处理,亦可以按线性平滑、非线性平滑和自适应平滑来区别。
图像的平滑是一种实用的数字图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标。
一般情况下,减少噪声的方法可以在空间域或频率域进行处理,主要有邻域平均法、中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频域低通滤波法通过除去其高频分量就能去掉噪声,从而使图像得到平滑。
(2)本设计将对图像平滑处理的两大方面即空间域和频率域,以及两种处理方向里的几种处理方法进行介绍,并对一些常用的简单平滑算法进行分析。
(3)图像平滑主要是为了消除被污染图像中的噪声,这是遥感图像处理研究的最基本内容之一,被广泛应用于图像显示、传输、分析、动画制作、媒体合成等多个方面。
该技术是出于人类视觉系统的生理接受特点而设计的一种改善图像质量的方法。
处理对象是在图像生成、传输、处理、显示等过程中受到多种因素扰动形成的加噪图像。
matlab加权平滑滤波

matlab加权平滑滤波问题:如何使用Matlab进行加权平滑滤波?引言:加权平滑滤波是数字图像处理领域中常用的一种处理技术。
它通过对像素进行加权平均来减少噪声和不规则性,从而改善图像的质量。
在Matlab 中,我们可以使用一些内置函数和方法来实现加权平滑滤波。
本文将一步一步地回答如何使用Matlab进行加权平滑滤波。
一、理解加权平滑滤波的原理加权平滑滤波的基本原理是根据像素的邻域信息对像素进行重新赋值。
每个像素的赋值是根据其周围像素的灰度值和权重来确定的。
权重通常是根据距离或其他规则计算的,以便更好地保留图像的细节信息。
二、导入图像并转换为灰度图像在开始进行加权平滑滤波之前,首先需要导入图像并将其转换为灰度图像。
这可以通过Matlab的imread和rgb2gray函数来实现。
以下是具体的代码:matlab导入图像image = imread('image.jpg');转换为灰度图像grayImage = rgb2gray(image);三、创建加权平滑滤波器在Matlab中,我们可以使用fspecial函数来创建加权平滑滤波器。
fspecial可以创建各种类型的滤波器,包括均值滤波器、高斯滤波器等。
对于加权平滑滤波,我们可以选择均值滤波器或高斯滤波器。
以下是使用fspecial创建一个大小为3x3的均值滤波器的示例代码:matlab创建均值滤波器filterSize = [3 3];meanFilter = fspecial('average', filterSize);四、应用加权平滑滤波器使用imfilter函数可以将滤波器应用于图像。
imfilter函数接受三个参数,分别是图像、滤波器和边界处理选项。
以下是将先前创建的均值滤波器应用于图像的示例代码:matlab应用均值滤波器smoothImage = imfilter(grayImage, meanFilter, 'replicate');在这个示例中,我们使用了'replicate'选项来处理边界。
MATLAB中数字图像中值滤波的实现步骤

MATLAB中数字图像中值滤波的实现步骤MATLAB中数字图像中值滤波的实现步骤数字图像中值滤波是一种常用的图像处理技术,它可以有效地去除图像中的噪声。
在MATLAB中,实现数字图像中值滤波的步骤如下:1. 导入图像:首先,我们需要导入待处理的图像。
在MATLAB中可以使用imread函数来读取图像文件,并将其存储为一个矩阵。
2. 确定滤波窗口大小:中值滤波是一种局部处理方法,它通过对每个像素周围的邻域进行排序,并选择中间值作为滤波后的像素值。
因此,我们需要确定滤波窗口的大小。
通常情况下,窗口大小选择为奇数,以确保有一个中心像素。
3. 处理边界像素:由于滤波窗口通常是一个正方形或矩形,所以在图像的边界处可能会出现边界像素无法完全包含在滤波窗口内的情况。
为了解决这个问题,一种常见的做法是通过在图像的边界处填充一圈像素值来扩展图像。
在MATLAB中,可以使用padarray函数来实现边界像素的填充。
4. 遍历图像像素:对于图像中的每个像素,我们需要将它的邻域像素提取出来,并进行排序。
在MATLAB中,可以使用imcrop函数来提取邻域像素,并使用sort函数对像素进行排序。
5. 计算中值:排序后,我们可以直接选择排序后数组的中间值作为滤波后的像素值。
如果邻域大小为奇数,则中间值正好是排序后数组的中间元素;如果邻域大小为偶数,则可以选择中间两个元素的平均值作为中值。
在MATLAB中,可以使用median函数来计算中值。
6. 更新像素值:将计算得到的中值作为滤波后的像素值,并更新到图像矩阵中。
7. 输出结果:最后,我们可以使用imwrite函数将处理后的图像保存到文件中,或使用imshow函数显示处理结果。
以上就是MATLAB中实现数字图像中值滤波的步骤。
通过对图像进行中值滤波处理,可以有效地去除噪声,提高图像质量。
图像边沿平滑处理的matlab实现

图像边沿平滑处理的matlab实现完成图像处理的算法:1、读⼊⽂件通过matlab读取图像⽂件。
2、获取蒙版对图像进⾏逐点扫描,当点的三个通道值⾄少有⼀个⼩于阈值时让这个点变为纯⿊⾊。
如图,可见此时的蒙版中⼼有空缺,且边缘有噪声⽽且有粘连⼩块。
为了消除这些噪声和⼩块,我们对图像的蒙版进⾏腐蚀和扩张操作。
3、对蒙版进⾏腐蚀应⽤matlab的腐蚀函数,选择腐蚀的结构元素为11*11的全1矩阵,对图像进⾏腐蚀操作,腐蚀后,图像缩⼩,边缘变得平滑。
腐蚀后效果如图:4、对图像进⾏扩张操作将图像复原到原始蒙版,该扩张或丢失边缘信息,正好删除掉噪声和多余的⼩块。
进⾏扩张所⽤的结构元素和腐蚀所⽤的结构元素相同。
可以明显看到边缘得到改善。
扩张后效果如图:5、⽤蒙版遮罩⽣成图像利⽤蒙版的遮罩⽅式,通过原图⽣成新的图像。
能明显看出边沿的噪声和多余⼩块被去除。
产⽣的图像如下图:6、调整图像⼤⼩⾸先通过getFrame函数得到图像的边框,该函数的原理是从上下左右四个⽅向对图像进⾏逼近,记录四个边缘的位置,以便计算缩放的⼤⼩。
原理如下图:在获得了边框后,将框内的图像进⾏⼀个缩放,使该⼦图像的长或宽和原图⼀致,再⽤空⽩补齐另外⼀个⽅向。
最后达到缩放后的图像如下:附matlab程序:附1:main.minputFilePrefix = 'datacache\\';outFilePrefix = 'output\\';fileNamePrefix = 'dst_';picNum = 79;pxmin = 10000000;pdxmax = 0;pymin = 10000000;pdymax = 0;for p = 0:picNum-1if(p<10)fileName = sprintf('%s0%d.jpg',fileNamePrefix,p);else fileName = sprintf('%s%d.jpg',fileNamePrefix,p);end;inputFilePath = [inputFilePrefix fileName];outputFilePath = [outFilePrefix fileName];BW = imread(inputFilePath);[BW1 mask] = getSmoothImage(BW,230);[px py pdx pdy] = getFrame(mask);pxmin = min(pxmin,px);pdxmax = max(pdxmax,pdx);pymin = min(pymin,py);pdymax = max(pdymax,pdy);imwrite(BW1,outputFilePath,'jpg');pend%重新调整⼤⼩for p = 0:picNum-1if(p<10)fileName = sprintf('%s0%d.jpg',fileNamePrefix,p);else fileName = sprintf('%s%d.jpg',fileNamePrefix,p);end;inputFilePath = [outFilePrefix fileName];outputFilePath = [outFilePrefix fileName];I = imread(inputFilePath);INew = reScale(I,pxmin,pdxmax,pymin,pdymax);imwrite(INew,outputFilePath,'jpg');imshow(INew);pEnd附2:getSmoothImage.mfunction [ BW1 mask ] = getSmoothImage( BW,threshold )%GETSMOOTHIMAGE Summary of this function goes here% Detailed explanation goes here% 该函数⾸先得到图形的蒙版,然后对蒙版进⾏腐蚀和扩张,最后利⽤蒙版收缩和扩张 HEIGHT = size(BW,1);WIDTH = size(BW,2);mask = zeros(HEIGHT,WIDTH,'uint8');%得到蒙版threshold = 230;for i = 1:HEIGHTfor j = 1:WIDTHif(BW(i,j,1)>threshold&&BW(i,j,2)>threshold&&BW(i,j,3)>threshold)mask(i,j) = 255;endendend%腐蚀扩张蒙版SE = strel('square',11);mask = imdilate(mask,SE);mask = imerode(mask,SE);%利⽤蒙版遮罩获取图像BW1 = BW;for i = 1:HEIGHTfor j = 1:WIDTHif(mask(i,j) == 255)BW1(i,j,1) = 255;BW1(i,j,2) = 255;BW1(i,j,3) = 255;endendendend附3:getFrame.mfunction [ x,y,dx,dy ] = getFrame( mask )%GETFRAME Summary of this function goes here % Detailed explanation goes here获取图像外框backGroundColor = 255;found = false;for i = 1:size(mask,1)for j = 1:size(mask,2)if(mask(i,j) ~= backGroundColor)y = i;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,1)for j = 1:size(mask,2)if(mask(size(mask,1)-i+1,j) ~= backGroundColor) dy = size(mask,1)-i+1-y;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,2)for j = 1:size(mask,1)if(mask(j,i) ~= backGroundColor)x = i;found = true;break;endendif foundbreak;endendfound = false;for i = 1:size(mask,2)for j = 1:size(mask,1)if(mask(j,size(mask,2)-i+1) ~= backGroundColor)dx = size(mask,2)-i+1-x;found = true;break;endendif foundbreak;endendend附4:reScale.mfunction [ INew ] = reScale(I,pxmin,pdxmax,pymin,pdymax) %RESCALE Summary of this function goes here% Detailed explanation goes hereglobal WIDTH;global HEIGHT;ISub = I(pymin:pymin+pdymax,pxmin:pxmin+pdxmax,:);ISubScaled = imresize(ISub,min(WIDTH/pdxmax,HEIGHT/pdymax));INew = 255*ones(HEIGHT,WIDTH,3,'uint8');copyWidth = min(size(ISubScaled,2),WIDTH);copyHeight = min(size(ISubScaled,1),HEIGHT);if(copyWidth==WIDTH)pstarty = max(1,floor((HEIGHT-copyHeight)/2));pstartx = 1;elsepstartx = max(1,floor((WIDTH-copyWidth)/2));pstarty = 1;endt = ISubScaled(1:copyHeight,1:copyWidth,1);%INew(pstarty:pstarty+copyHeight-1,pstartx:pstartx+copyWidth-1,3) = t;for i = 1:copyHeightfor j = 1:copyWidthINew(pstarty+i-1,pstartx+j-1,:) = ISubScaled(i,j,:);endendend附:5:在探索过程中所写的⼀些函数:1、获取主体中的像素点:通过getRect函数,通过逐⾏扫描,依次查找不是纯⽩⾊的点,在找到这个点之后,搜索以这个点为左上定点以estimateLength为边长的矩形,统计出纯⽩点和⾮纯⽩点的⽐例,让这个⽐例达到⼀个阈值时,我们认为这个点就是主体中的⼀个点,可以根据这个点采⽤floodfill算法。
基于MATLAB线性平滑滤波器的设计

1 1 1 1
() 1 在开课前充分调查学生原有的知识基础, 在教学课
时安排 上做调整, 强薄弱环节 的教学力度 ,ห้องสมุดไป่ตู้重对 基础知 加 侧
识 的教 学 。 ( )加 强 对 学 生 的 引 导 , 促 学 生 在 薄 弱 环 节 加 强 练 2 督
习, 使学生在各个模块 知识点 的掌 握程度相对均衡 , 从而满
学 工 业 出版 社 , 0 2 20 .
3结 果分 析
、
【 3 肖卫初 , 钟J 桃, J 陈军平. 1 基于 M T A A L B在 I I R滤波器的设计 与
通过比较上述采用的不同尺寸均值滤波器进行的低通
滤波处理结果 , 以得出如下结 论: 可 当所用 的平 滑模板 的尺 寸增大时 , 消除 噪声的效 果增强 , 同时所得 的图像变得模 但
8 8 5.8 54 .5 1 7 3.7 2 .3 94 2. 043 8 .8 7 .6 58 % 78 % 918 .% 8 .9 40 % 8 .2 9 51 % O%
T> ( ,0 5 6 )
故拒绝原假设 H , 0即认为学生的计算机成绩与试卷 的比 例 不一致 , 也就是学生在各模块掌握的程度不一致。
K2 f e2f e i ( vrg" ) ) 5 ; = h r(p c ' eae, ,/ 5 i s a a l 5 J2
分量 。因为低频分 量对应 图像 中灰度值 变化 比较 缓慢的区
域, 因而 与图像的整体特性 , 如整 体对 比度 和平均灰度 值有
MATLAB实现频域平滑滤波以及图像去噪代码

MATLAB实现频域平滑滤波以及图像去噪代码用MATLA实现频域平滑滤波以及图像去噪代码悬赏分:50 - 解决时间 :2008-11-8 14:21 是数字图象处理的实验,麻烦高人给个写好的代码,希望能在重要语句后面附上一定的说明,只要能在 MATLAE t运行成功,必然给分。
具体的实验指导书上的要求如下 : 频域平滑滤波实验步骤1. 打开 Matlab 编程环境 ;2. 利用’imread '函数读入图像数据;3. 利用' imshow' 显示所读入的图像数据 ;4. 将图像数据由' uint8 ' 格式转换为' double ' 格式,并将各点数据乘以 (-1)x+y 以便 FFT 变换后的结果中低频数据处于图像中央;5. 用' fft2 ' 函数对图像数据进行二维 FFT 变换,得到频率域图像数据;6. 计算频率域图像的幅值并进行对数变换,利用' imshow' 显示频率域图像;7. 在频率图像上去除滤波半径以外的数据 (置 0);8. 计算频率域图像的幅值并进行对数变换,利用' imshow' 显示处理过的频域图像数据;9. 用' ifft2 ' 函数对图像数据进行二维 FFT 逆变换,并用' real '函数取其实部,得到处理过的空间域图像数据;10. 将图像数据各点数据乘以 (-1)x+y;11. 利用' imshow' 显示处理结果图像数据;12. 利用' imwrite '函数保存图像处理结果数据。
图像去噪实验步骤 :1. 打开 Matlab 编程环境;2. 利用' imread' 函数读入包含噪声的原始图像数据 ;3. 利用' imshow' 显示所读入的图像数据 ;4. 以 3X3 大小为处理掩模,编写代码实现中值滤波算法,并对原始噪声图像进行滤波处理 ;5. 利用' imshow' 显示处理结果图像数据 ;6. 利用' imwrite ' 函数保存图像处理结果数据。
基于MATLAB的数字图像平滑和锐化处理算法分析

基于MATLAB的数字图像平滑和锐化处理算法分析卞凤杰2141141摘要:本文主要内容是利用MATLAB对图像进行频域平滑和锐化处理。
本文先对图像进行空域平滑、锐化处理,然后再进行频域平滑滤波、锐化等操作,可以简单比较空域和频域下对图像进行处理的不同效果,并且通过改变参数确定效果最佳的平滑和锐化处理算法,同时给出了运用MATLAB进行图像处理的前后对照图像。
关键词:MATLAB;图像处理;图像平滑;图像锐化Abstract: In this paper, the main content is to use MATLAB to do image smoothing and sharpening processing in the frequency-domain. Firstly,this article to do spatial smoothing, sharpening processing of the image, and then to frequency-domain smoothing filtering, sharpening, etc ・ This can be simply compare the different results of image processing in spatial domain and frequency domain. Secondly, by changing the parameters to determine the best smoothing and sharpening processing algorithm, and gives a comparison before and after using MATLAB image processing image.Keywords:MATLAB;Image Processing;Image smoothing;Image sharpening1、引言地绘制出月球表面地图,获得了巨大数字图像处理(Digital Image的成功。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优秀毕业论文——数字图像平滑滤波在MATLAB上的实现第 5 章图像平滑滤波在MATLAB上的实现
本课程设计在MATLAB上实现的程序和结果 I=imread('b.bmp');
v=0.5*ones(size(I)); I1=imnoise(I,'localvar',v);
I2=imnoise(I,'salt & pepper',0.02);
I3=imnoise(I,'speckle',0.02);
figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('受高斯噪声污染的图像');
imshow(I1);
hold off;
subplot(223);
hold on;
title('受椒盐噪声污染的图像');
imshow(I2);
hold off;
subplot(224);
hold on;
title('受乘性噪声污染的图像');
imshow(I3);
hold off;
原图像受高斯噪声污染的图像
受椒盐噪声污染的图像受乘性噪声污染的图像
h=ones(3,3)/9;
J1=imfilter(I1,h); J2=imfilter(I2,h); J3=imfilter(I3,h); figure; subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的3*3邻域平均后的图像'); imshow(J1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的3*3邻域平均后的图像'); imshow(J2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的3*3邻域平均后的图像'); imshow(J3);
hold off;
原图像高斯噪声3*3邻域平均后的图像
椒盐噪声3*3邻域平均后的图像乘性噪声3*3邻域平均后的图像
h1=ones(5,5)/25;
K1=imfilter(I1,h1); K2=imfilter(I2,h1); K3=imfilter(I3,h1); figure; subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('对有高斯噪声的5*5邻域平均后的图像'); imshow(K1);
hold off;
subplot(223);
hold on;
title('对有椒盐噪声的5*5邻域平均后的图像'); imshow(K2);
hold off;
subplot(224);
hold on;
title('对有乘性噪声的5*5邻域平均后的图像');
imshow(K3);
hold off;
原图像高斯噪声5*5邻域平均后的图像
椒盐噪声5*5邻域平均后的图像乘性噪声的5*5邻域平均后的图像
L1=medfilt2(I1,[5,5]); L2=medfilt2(I2,[5,5]); L3=medfilt2(I3,[5,5]); figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('高斯噪声5*5中值滤波后的图像'); imshow(L1);
hold off;
subplot(223);
hold on;
title('椒盐噪声5*5中值滤波后的图像');
imshow(L2);
hold off;
subplot(224);
hold on;
title('乘性噪声的5*5中值滤波后的图像');
imshow(L3);
hold off;
原图像高斯噪声5*5中值滤波后的图像
椒盐噪声5*5中值滤波后的图像乘性噪声的5*5中值滤波后的图像[f1,f2]=freqspace(25,'meshgrid'); Hd=zeros(25,25);
d=sqrt(f1.^2+f2.^2)<0.5; Hd(d)=1;
h=fsamp2(Hd);
figure;
freqz2(h,[64,64]);
1.5
1
0.5
Magnitude
1
0.51
0.50
0-0.5-0.5
-1-1FyFx
I=imread('b.bmp');
v=0.5*ones(size(I));
I1=imnoise(I,'localvar',v); I2=imnoise(I,'salt & pepper',0.02);
I3=imnoise(I,'speckle',0.02); J1=imfilter(I1,h,'replicate');
J2=imfilter(I2,h,'replicate'); J3=imfilter(I3,h,'replicate'); figure;
subplot(221);
hold on;
title('原图像');
imshow(I);
hold off;
subplot(222);
hold on;
title('高斯噪声频域滤波后图像');
imshow(J1);
hold off;
subplot(223);
hold on;
title('椒盐噪声频域滤波后图像');
imshow(J2);
hold off;
subplot(224);
hold on;
title('乘性噪声频域滤波后图像');
imshow(J3);
hold off;
原图像高斯噪声频域滤波后图像
椒盐噪声频域滤波后图像乘性噪声频域滤波后图像。