Hello Mat

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

高斯高通滤波器

[复制链接]

1294

主题

1520

帖子

110

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22633
发表于 2017-3-7 22:02:03 | 显示全部楼层 |阅读模式
  1. function im5 = freqfilter_gaussian_Hp(im,D0)
  2. % 高斯高通滤波器gaussian
  3. % input:
  4. %     M,N:频域滤波器的尺寸
  5. %     D0:带阻滤波器的截止频率
  6. %     n :阶次
  7. % output:
  8. %       H:M x N的矩阵,表示频域滤波器矩阵,数据类型为double,
  9.     if ~isa(im,'double')
  10.         im1 = double(im)/255;
  11.     end
  12. im2 = fft2(im1);      % 傅里叶变换
  13. im3 = fftshift(im2);  % 中心化

  14. [N1, N2] = size(im3);
  15. n1 = fix(N1 / 2);
  16. n2 = fix(N2 / 2);
  17. for i = 1:N1
  18.     for j = 2:N2
  19.         D = sqrt((i-n1)^2+(j-n2)^2);
  20.         h = 1- exp(-D.^2./2./D0./D0);  % 高斯高通滤波器
  21.         result(i,j) = h * im3(i,j);
  22.     end
  23. end
  24. result = ifftshift(result);    % 反中心化
  25. im4 = ifft2(result);           % 反变换
  26. im5 = im2uint8(real(im4));     % 滤波图像
  27. end
复制代码


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 23:19 , Processed in 0.231700 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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