• 大小: 6KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-01-01
  • 语言: Matlab
  • 标签: 同态滤波  matlab  

资源简介

同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码 不要积分了 同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码 不要积分了 同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码 不要积分了

资源截图

代码片段和文件信息

function [g] =GaussianHighPassFilter (image_input  D0)
%D0为截至频率的(相当于设置在傅里叶谱图的半径值)
%判断图像是否为灰度图,不是灰度图的话,将图像变为灰度图
f = image_input;
f = mat2gray(f[0 255]);
% 1.给定一幅大小为M*N的输入图像f(xy)得到填充参数P = 2MQ = 2N
[mn] = size(f);
P = 2 * m;
Q = 2 * n; 
% 2.对f(xy)添加必要数量的0,形成大小为P * Q的填充后的图像fp(xy)
fp = zeros(PQ);
fp(1:m1:n) = f(1:m1:n);
% 3.用(-1)^(x+y)乘以fp(xy)移到其交换的中心
for i = 1 : m
    for j = 1 : n 
        fp(ij) = double(fp(ij)*(-1)^(i+j));
    end
end
% 4.计算来自步骤3的图像的DFT,得到F(uv)
F = fft2(fpPQ);
% 5.生成一个实的、对称的滤波函数H(uv)其大小为P*Q,中心在(P/2Q/2)处。
% 用阵列相乘形成乘积G(uv) = H(uv)F(uv);即G(ik)=H(ik)F(ik)
H = zeros(PQ);
a = 2 * D0^2;
for u = 1 :P
    for v = 1:Q
        D = (u-(m+1.0))^2+(v-(n+1.0))^2;
        H(uv) = 1 - exp((-D)/a);
    end
end
G = H.*F;
% 6.得到处理后的图像

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-18 22:43  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\
     文件        1204  2019-04-18 22:27  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\GaussianHighPassFilter.m
     文件         228  2019-04-18 22:24  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\GaussianHighPassFiltermain.m
     文件        1217  2019-04-18 22:07  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\GaussianLowPassFilter.m
     文件        1419  2019-04-16 21:21  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\GaussianLowPassFiltermain.m
     文件        1252  2019-04-18 22:16  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\HighFrequencyEmphasizeFilter.m
     文件         316  2019-04-18 21:48  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\HighFrequencyEmphasizeFiltermain.m
     文件         830  2019-04-18 22:14  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\HomomorphicFilitering.m
     文件         120  2019-04-17 20:53  同态滤波、高斯高通滤波、高斯低通滤波、高频滤波matlab代码\HomomorphicFiliteringmain.m

评论

共有 条评论