Chinaunix首页 | 论坛 | 博客
  • 博客访问: 152002
  • 博文数量: 47
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 405
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-23 14:38
文章分类

全部博文(47)

文章存档

2017年(7)

2016年(4)

2015年(19)

2014年(17)

我的朋友

分类: Android平台

2017-05-09 23:41:29

中值滤波即对于每一像素点取其邻域中值替代该像素点原值,对于椒盐噪声有极其显著的去噪效果,脱离邻域的像素点被拉回到邻域附近,图像细节,噪声都被平滑。
Matlab实现:

点击(此处)折叠或打开

  1. % 中值滤波 test
  2. A = imread('C:\Users\gh\Desktop\photo\lena.pgm');
  3. B = imnoise(A,'salt');

  4. figure;subplot(221),imshow(A);title('原图')
  5. subplot(222),imshow(B);title('椒盐噪声图')

  6. C = m_median_filter(B,3);
  7. subplot(223),imshow(C);title('中值滤波后')

  8. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  9. %%
  10. % Purpose:do median filter
  11. % Author: pottor
  12. % Date: 2017/5/9
  13. % w is required to be odd

  14. function out = m_median_filter(in,w)

  15. out = in;
  16. [m,n] = size(in);
  17. hw = floor(w/2);

  18. for i = 1+hw : m-hw
  19.     for j = 1+hw : n-hw
  20.         out(i,j) = median(reshape(in(i-hw:i+hw,j-hw:j+hw),[1,w*w]));
  21.     end
  22. end


阅读(4308) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~