Hello Mat

 找回密码
 立即注册
查看: 3192|回复: 0

中值滤波

[复制链接]

1294

主题

1520

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22633
发表于 2017-3-19 21:19:08 | 显示全部楼层 |阅读模式
  1. function b = med_filt2(a,mn)
  2. % 中值滤波
  3. % 输入:
  4. %      a:输入二维图像局长呢
  5. %      mn:为[m,n]滤波模板
  6. % 输出:
  7. %      b:中值滤波图像

  8. domain = ones(mn);          % 模板
  9. if (rem(prod(mn), 2) == 1)
  10.     order = (prod(mn)+1)/2; % 中值
  11.     b = ordfilt2(a, order, domain, 'zeros'); % 排序滤波
  12. else
  13.     order1 = prod(mn)/2;
  14.     order2 = order1+1;
  15.     b = ordfilt2(a, order1, domain, 'zeros');  % 排序滤波
  16.     b2 = ordfilt2(a, order2, domain, 'zeros'); % 排序滤波
  17.         if islogical(b)  % 逻辑运算
  18.                 b = b | b2;  % 或运算
  19.         else
  20.                 b =        imlincomb(0.5, b, 0.5, b2); % 0.5*b + 0.5*b2
  21.         end
  22. end
复制代码


算法QQ  3283892722
群智能算法链接http://halcom.cn/forum.php?mod=forumdisplay&fid=73
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-4-28 23:42 , Processed in 0.244398 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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