资源简介

自己编写的三种算法,内含详细的注释供参考

资源截图

代码片段和文件信息

clear all;
tic;
a =imread(‘cameraman.tif‘);
[mn]=size(a);
a=imnoise(a‘salt & pepper‘0.02);               %加椒盐噪声
b=im2double(a) ;                                 %由于matlab中读入的图像是uint8的,在求平均值时很容易溢出,因此将其转换成double型进行运算

for i=2:m-1
    for j=2:n-1
      I1=b(i-1j-1)-b(ij);                      %求邻域和中心像素的差值
      I2=b(i-1j)-b(ij);
      I3=b(i-1j+1)-b(ij);
      I4=b(ij-1)-b(ij);
      I6=b(ij+1)-b(ij);
      I7=b(i+1j-1)-b(ij);
      I8=b(i+1j)-b(ij);
      I9=b(i+1j+1)-b(ij);
     
      q=(I1+I2+I3+I4+I7+I6+I8+I9+9*b(ij))/9;    %将中心像素周围的灰度值相加求平均值
      b(ij)=q;
    end
end
c=im2uint8(b);                                  %将double型数据转换成uint8
figuresubplot(121)imshow(a);
title(‘原图‘);
imwrite(a‘原图.jpg‘);
subplot(122)imshow(c);
title(‘平均滤波‘);
imwrite(c‘平均滤波.jpg‘);
toc;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        918  2011-12-04 10:09  第一题\average_filter.m

     文件       1718  2011-12-04 19:01  第一题\direction.m

     文件       1870  2011-12-04 10:08  第一题\k_neighborhood.m

     文件       9727  2011-12-04 19:08  第一题\K邻域图像.jpg

     文件      98816  2011-12-04 19:08  第一题\三种方法对比+编程解释.doc

     文件      19798  2011-12-04 19:08  第一题\原图.jpg

     文件      10087  2011-12-04 19:08  第一题\平均滤波.jpg

     文件      14347  2011-12-04 19:08  第一题\方向平滑.jpg

     目录          0  2011-12-05 17:01  第一题

----------- ---------  ---------- -----  ----

               157281                    9


评论

共有 条评论