meanfilter.m
上传用户:lcj80317
上传日期:2007-01-26
资源大小:625k
文件大小:0k
源码类别:

波变换

开发平台:

Matlab

  1. function X = meanfilter(x, m)
  2. % 均值滤波 原矩阵为x 使用的模板为m
  3. % 模板大小
  4. dim1 = size(m, 1);          
  5. dim2 = size(m, 2);
  6. % 对边界的像素不处理 计算需要处理像素的范围
  7. row_min = (dim1+1) / 2;
  8. row_max = size(x, 1) - row_min + 1;
  9. col_min = (dim2+1) / 2;
  10. col_max = size(x, 2) - col_min + 1;
  11. X = x;
  12. for i = row_min : row_max
  13.     for j = col_min : col_max
  14.         X(i,j) = sum( sum( m .* x( i-(dim1-1)/2:i+(dim1-1)/2,  j-(dim2-1)/2:j+(dim2-1)/2) )) / (dim1*dim2) ;
  15.     end
  16. end