作业帮 > 综合 > 作业

如何用MATLAB构建理想低通滤波器,巴特沃斯低通滤波器,指数低通滤波器和梯形低通滤波器对图像处理

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 14:50:33
如何用MATLAB构建理想低通滤波器,巴特沃斯低通滤波器,指数低通滤波器和梯形低通滤波器对图像处理
知道多少说多少哈 而且金币不多 希望大虾帮忙
滤波器的程序能搜到 但是不会用这些去对图像处理 我要的是类似这个的,下面这个是巴特沃斯低通滤波器,我刚搜到的:
i=imread('J20.jpg'); %读取图像
I=rgb2gray(i);
I1=imnoise(I,'salt & pepper',0.02);
f=double(I1);
g=fft2(f);
g=fftshift(g);
[N1,N2]=size(g);
n=3; %阶次设为3
d0=30; %此处d0为截止频率
n1=fix(N1/2);
n2=fix(N2/2);
for i=1:N1
for j=1:N2
d=sqrt((i-n1)^2+(j-n2)^2);
h=1/(1+0.414*(d/d0)^(2*n));
result(i,j)=h*g(i,j);
end
end
result=ifftshift(result);
X2=ifft2(result);
J1=uint8(real(X2));
subplot(121),imshow(I1);
title('受高斯噪声污染的图像');
subplot(122),imshow(J1);
title('截止频率为50HZ的巴特沃斯低通滤波处理后');
比如你要处理的信号叫x(n),是一个N点的序列.
理想低通滤波器最简单,先对x(n)做FFT,得到频域特性X(k),然后把高频部分的数据改为0,最后在用IFFT变换转换到时域,就是理想滤波了,因为高频完全被抹掉了,而低频信息丝毫不变.
其他滤波器就不能这样赖皮的做了,因为理想滤波器必须有无限多个抽头才能达到“高频完全被抹掉了,而低频信息丝毫不变”的效果.实际中是不可能的.其他滤波器就是根据你要的阶数先设计出滤波器的时域冲击响应h(n),再用filter( )函数让信号通过这个滤波器,这样来实现
再问: 需要程序啊~~ 我可什么都不会啊