Hello Mat

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

超限邻域滤波器

[复制链接]

1323

主题

1551

帖子

0

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22647
发表于 2017-3-8 23:33:39 | 显示全部楼层 |阅读模式
  1. function Z = threddmean_filter(X,n,thred)
  2. % 函数对输人图像进行超限邻域平均法滤波
  3. %  函数输入
  4. %        X:输人二维图像矩阵
  5. %        n:掩膜尺寸
  6. %        thred:阈值
  7. %  函数输出
  8. %        Z:输出图像矩阵,数据类型与输人相同
  9. if size(X,3)~=1
  10.     error('图像应该为2维矩阵')
  11. end
  12. if ~isa(X,'double')
  13.     X = double(X)/255;  % 数据类型
  14. end
  15. H = fspecial('average',n);    % 均值模板
  16. Y = imfilter(X, H);
  17. thre = abs(X-Y)>thred;  % 判断哪些是门限
  18. Z = X;   % 赋值
  19. Z(thre)=Y(thre);
  20. Z = im2uint8(Z);  % 类型转换

  21. end
复制代码
主程序:
  1. % 超限邻域滤波器
  2. clc,clear,close all  % 清理命令区、清理工作区、关闭显示图形
  3. warning off       % 消除警告
  4. feature jit off      % 加速代码运行
  5. [filename ,pathname]=...
  6.     uigetfile({'*.bmp';'*.jpg';},'选择图片'); % 选择图片路径
  7. str = [pathname filename];     % 合成路径+文件名
  8. im = imread(str);              % 原图像
  9. im = imnoise(im,'gaussian',0,1e-3); % 原图像 + 白噪声

  10. im1 = threddmean_filter( im,5, 5/255 );  % 应用超限邻域滤波
  11. figure('color',[1,1,1])
  12. subplot(121),imshow(im,[]),title('original image')
  13. colormap(jet)  % 颜色
  14. shading interp % 消隐
  15. subplot(122),imshow(im1,[]),title('超限邻域滤波')
  16. colormap(jet)  % 颜色
  17. shading interp % 消隐
复制代码




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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:58 , Processed in 0.243616 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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