Hello Mat

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

同态滤波

[复制链接]

1323

主题

1551

帖子

0

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
22647
发表于 2017-9-21 21:40:14 | 显示全部楼层 |阅读模式
同态滤波
rL = 0.3999;  % 低频增益
rH = 0.71;   % 高频增益
D0 = 1;   % 截止频率

im_e = Homom_filter(im,D0,rL,rH);   % 同态滤波
  1. function im_e = Homom_filter(im,d,rL,rH)
  2. % 同态滤波
  3. %函数输入:
  4. %         im:  输入的二维图像矩阵
  5. %         d:   截止频率
  6. %         rL   低频增益
  7. %         rH   高频增益
  8. %函数输出:
  9. %         im_e: 重构滤波图像

  10. if ~isa(im,'double')
  11.     im = double(im);
  12. end

  13. [r c]=size(im); % 输入图像维数
  14. % 高斯高通滤波
  15. A=zeros(r,c);
  16. for i=1:r
  17.     for j=1:c
  18.         A(i,j)=(((i-r/2).^2+(j-c/2).^2)).^(.5);
  19.         B(i,j)=A(i,j)*A(i,j);
  20.         H(i,j)=(1-exp(-((B(i,j)).^2/d.^2)));  % 传递函数
  21.     end
  22. end

  23. % 同态滤波器传递函数:
  24. H=((rH-rL).*H)+rL;
  25. % 取对数
  26. im_l=log2(im + 1e-5);
  27. % 离散傅里叶变换
  28. im_f=fft2(im_l);
  29. % 滤波
  30. im_nf=H.*im_f;
  31. % DFT反变换
  32. im_n=abs(ifft2(im_nf));
  33. % 指数变换,消除取对数
  34. im_e = exp(im_n);  % 滤波矩阵
  35. im_e = uint8(im_e);
复制代码






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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 22:41 , Processed in 0.218453 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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