700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 数字图像处理 空间域平滑 MATLAB实验

数字图像处理 空间域平滑 MATLAB实验

时间:2018-07-16 20:38:49

相关推荐

数字图像处理 空间域平滑 MATLAB实验

一、原理_均值滤波

设加噪图像为 f(x,y) ,经均值滤波处理后的图像为g(x,y) ,则:

式中, S是(x,y)像素点的邻域,K是S内的像素数。

最典型的S为3X3邻域,可用模板形式表示为:

这样,将模板在待处理图像中逐点滑动,与图像相卷积,就可得到整幅图像的平滑。

本实验分别选用3×3、5×5、7×7的均值滤波模板对图像进行处理。

需要注意的是,当模板滑动到图像边缘时,模板的部分行或列就会处于图像之外,本实验可采用下面的任一种方法处理这种问题:

①先在图像边缘以外补上一行和一列灰度为零的像素点,再对原图像中的每个像素点进行模板处理。

②保留图像的边缘像素,对其它像素进行模板处理。

二、步骤

(1)读入原图像lena.bmp并显示;

(2)对原图像分别添加高斯噪声和椒盐噪声,并显示加噪图像;

(3)采用均值滤波进行去噪处理,并显示去噪图像;

三、实验图像

lena.bmp

四、框图

五、代码

%------------------------------------------------------------------------% File name: first_2% Last modified Date: 6月10日20点01分% Author: Jasmine% Descriptions: 空间域平滑%------------------------------------------------------------------------%清空工作区clc,clear,close all;%读入原图像lena = imread('D:\_1Course\Digital_image_processing\photo\lena.bmp');%显示原图像subplot(3,3,1);imshow(lena);title('原图');%添加高斯噪声并显示guassian_lena = imnoise(lena, 'gaussian', 0, 0.02);subplot(3,3,2);imshow(guassian_lena);title('加入 均值:0 方差:0.02 的高斯噪声');%添加椒盐噪声并显示salt_lena=imnoise(lena,'salt & pepper',0.02);subplot(3,3,3),imshow(salt_lena),title('加入噪声密度:0.02的椒盐噪声');%对有高斯噪声的图像进行均值滤波并显示%3*3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%手动均值滤波n=3; %模板大小[height, width]=size(guassian_lena); %获取图像的尺寸(n小于图片的宽高)x1=double(guassian_lena); %数据类型转换x2 = x1; %转换后的数据赋给x2for i=1:height-n+1 for j=1:width-n+1 c=x1(i:i+(n-1),j:j+(n-1)); %在x1中从头取模板大小的块赋给c e=c(1,:);%e中存放是c矩阵的第一行 for u=2:n %将c中的其他行元素取出来接在e后使e为一个行矩阵 e=[e,c(u,:)];end s=sum(e);%取一行的和 x2(i+(n-1)/2,j+(n-1)/2)=s/(n*n); %将模板各元素的均值赋给模板中心位置的元素 end endresult=uint8(x2); %转换格式subplot(3,3,4),imshow(result);title('高斯噪声 3*3均值滤波');%5*5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%借助MATLAB均值滤波(以下均是)I_5=fspecial('average',[5,5]);%3*3均值滤波I_5_5=imfilter(guassian_lena,I_5);subplot(3,3,5),imshow(I_5_5,[]);title('高斯噪声 5*5均值滤波');%7*7I_7=fspecial('average',[7,7]);%3*3均值滤波I_7_7=imfilter(guassian_lena,I_7);subplot(3,3,6),imshow(I_7_7,[]);title('高斯噪声 7*7均值滤波');%对有椒盐噪声的图像进行均值滤波并显示%3*3I_3=fspecial('average',[3,3]);%3*3均值滤波S_3_3=imfilter(salt_lena,I_3);subplot(3,3,7),imshow(S_3_3,[]);title('椒盐噪声 3*3均值滤波');%5*5S_5_5=imfilter(salt_lena,I_5);subplot(3,3,8),imshow(S_5_5,[]);title('椒盐噪声 5*5均值滤波');%7*7S_7_7=imfilter(salt_lena,I_7);subplot(3,3,9),imshow(S_7_7,[]);title('椒盐噪声 7*7均值滤波');

六、运行结果

空间域平滑运行结果

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。