声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1440|回复: 0

[共享资源] 极值中值滤波编码

[复制链接]
发表于 2006-10-20 14:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
  1. function [outimage]=jzzz(array);  %文件名为jzzz的极值中值滤波程序
  2. array=imread('flowers.tif');
  3. array=imnoise(array,’gaussian’,0,0.005)
  4. [X,Y]=size(array);
  5. hb(1:256)=0;
  6. for x=1:X
  7. for y=1:Y
  8.         g=double(array(x,y))+1;
  9.         hb(g)=hb(g)+1;
  10.     end
  11. end          %对矩阵中间元素进行处理
  12. for x=2:(X-1)
  13.     for y=2:(Y-1)
  14.         %定义一个数组存放3*3数值
  15.         a(1:9)=0;
  16.         i=1;
  17.         for m=(x-1):(x+1)
  18.             for n=(y-1):(y+1)
  19.                 a(i)=double(array(m,n));
  20.                 i=i+1;
  21.             end
  22.         end
  23.         s=a; %对数组a进行按从大到小排列
  24. for i=1:8
  25. for j=1:9-i
  26.                if s(j)>s(j+1)
  27.                   t=s(j);
  28.                   s(j)=s(j+1);
  29.                   s(j+1)=t;
  30.                end
  31.             end
  32.         end
  33.         if a(5)==s(9)|a(5)==s(1)
  34.             outimage(x,y)=uint8(s(5));
  35.         else outimage(x,y)=uint8(a(5));   
  36.         end   
  37.    end
  38. end
  39. [X1,Y1]=size(outimage);
  40. he(1:256)=0;
  41. for x=1:X1
  42.     for y=1:Y1
  43.         g=double(outimage(x,y))+1;
  44.         he(g)=he(g)+1;
  45.   end
  46. end
  47. figure,imshow(array);title;
  48. figure,imshow(outimage);title;
复制代码

本帖被以下淘专辑推荐:

回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-8 13:10 , Processed in 0.091436 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表