急!如何用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的巴特沃斯低通滤波处理后');

1. buttord

(1)[N,wc]=buttord(wp,ws,αp,αs)

用于计算巴特沃斯数字滤波器的阶数N和3dB截止频率wc。
调用参数wp,ws分别为数字滤波器的通带、阻带截止频率的归一化值,要求:0≤wp≤1,0≤ws≤1。1表示数字频率pi。
αp,αs分别为通带最大衰减和组带最小衰减(dB)。
当ws≤wp时,为高通滤波器;
当wp和ws为二元矢量时,为带通或带阻滤波器,这时wc也是二元向量。
N,wc作为butter函数的调用参数。
(2)[N,Ωc]=buttord(Ωp,Ωs,αp,αs,‘s’)
用于计算巴特沃斯模拟滤波器的阶数N和3dB截止频率Ωc。
Ωp,Ωs,Ωc均为实际模拟角频率。
说明:buttord函数使用阻带指标计算3dB截止频率,这样阻带会刚好满足要求,而通带会有富余。

2.buttap(N)

[z0,p0,k0]=buttap(N)
用于计算N阶巴特沃斯归一化(3dB截止频率Ωc=1)模拟低通原型滤波器系统函数的零、极点和增益因子。

说明:如果要从零、极点模型得到系统函数的分子、分母多项式系数向量ba、aa,可调用
[B,A]=zp2tf(z0,p0,k0)

3.butter
(1)[b,a]=butter(N,wc,‘ftype’)
计算N阶巴特沃斯数字滤波器系统函数分子、分母多项式的系数向量b、a。
调用参数N和wc分别为巴特沃斯数字滤波器的阶数和3dB截止频率的归一化值(关于pi归一化),一般是调用buttord(1)格式计算N和wc。
系数b、a是按照z-1的升幂排列。
(2)[B,A]=butter(N,Ωc,‘ftype’,‘s’)
计算巴特沃斯模拟滤波器系统函数的分子、分母多项式系数向量ba、aa。
调用参数N和Ωc分别为巴特沃斯模拟滤波器的阶数和3dB截止频率(实际角频率),可调用buttord(2)格式计算N和Ωc。
系数B、A按s的正降幂排列。
tfype为滤波器的类型:
◇ftype=high时,高通;Ωc只有1个值。
◇ftype=stop时,带阻阻;此时Ωc=[Ωcl,Ωcu],分别为带阻滤波器的通带3dB下截止频率和上截止频率。
◇ ftype缺省时:
若Ωc只有1个值,则默认为低通;
若Ωc有2个值,则默认为带通;其通带频率区间Ωcl < Ω < Ωcu。

注意:所设计的带通和带阻滤波器系统函数是2N阶。因为带通滤波器相当于N阶低通滤波器与N阶高通滤波器级联。

相关文章:
数学思想及理论
均匀乱数
MDSC很可能,我已经用尽了现有原始数据的所有潜能
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
比如你要处理的信号叫x(n),是一个N点的序列。

理想低通滤波器最简单,先对x(n)做FFT,得到频域特性X(k),然后把高频部分的数据改为0,最后在用IFFT变换转换到时域,就是理想滤波了,因为高频完全被抹掉了,而低频信息丝毫不变。

其他滤波器就不能这样赖皮的做了,因为理想滤波器必须有无限多个抽头才能达到“高频完全被抹掉了,而低频信息丝毫不变”的效果。实际中是不可能的。其他滤波器就是根据你要的阶数先设计出滤波器的时域冲击响应h(n),再用filter( )函数让信号通过这个滤波器,这样来实现追问

需要程序啊~~ 我可什么都不会啊

本回答被提问者采纳
第2个回答  2018-04-22
指数低通
A=imread('23.jpg');
R=rgb2gray(A);
subplot(1,3,1);imshow(R);
xlabel('a)原始图像');
R1=imnoise(R,'salt & pepper',0.05);
subplot(1,3,2);imshow(R1);
xlabel('b)含椒盐噪声图像');
f=double(R1)
k=fft2(f);
g=fftshift(k);
[N1,N2]=size(g);
n=2;
d0=25;
u0=round(N1/2);
v0=round(N2/2);
for i=1:N1;
for j=1:N2
d=sqrt((i-u0)^2+(i-v0)^2);
h=exp(-(d/d0)^2);
y(i,j)=h*g(i,j);
end
end
y=ifftshift(y);
e1=ifft2(y);
e2=uint8(real(e1));
subplot(1,3,3);imshow(e2);
xlabel('c)指数低通滤波器处理');
第3个回答  2011-06-24
对这里不很了解,不敢多说
第4个回答  2011-06-24
你可以上百度下如何使用,有些网站是有教你怎么使用的
相似回答