资源简介
同态滤波、高斯高通滤波、高斯低通滤波、高频滤波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
评论
共有 条评论