pic=imread('1.jpg');
data=rgb2gray(pic);
[m,n]=size(data);
data0=zeros(m,n);
mob=[1 1 1;1 1 1;1 1 1];
for i=2:m-1
for j=2:n-1
part=data(i-1:i+1,j-1:j+1);
part=double(part);
temp=mob.*part;
data0(i,j)=sum(sum(temp));
end
end
imshow(uint8(data0));
-----------------------
data=imread('1.jpg'); %图像读取
data0=rgb2gray(data); %转化为灰度图像
figure,imshow(data0);
title('原灰度图像');
data1=imnoise(data0,'salt & pepper',0.02);%加椒盐噪声
figure,imshow(data1);
title('加椒盐噪音的灰度图像');
mob=[1 1 1;1 1 1;1 1 1]/9; %模板
[m,n]=size(data1); %确定灰度图像长和宽即矩阵的行和列
data2=zeros(m,n); %建立和图像长和宽相同的矩阵
for i=2:m-1
for j=2:n-1
part=data1(i-1:i+1,j-1:j+1); %选取要处理图像的一部分
part=double(part); %转化为双精度
temp=mob.*part; %将选取的一部分图像和模板进行卷积
data2(i,j)=sum(sum(temp)); %求卷积和
%对矩阵进行sum() 将每一行元素相加,
%得到一维向量,与矩阵列数相同,两次
%sum()求出整个矩阵的和
end
end
figure,imshow(uint8(data2)); %将图像显示
title('平滑处理后的灰度图像');