急!如何用MATLAB构建理想低通滤波器,巴特沃斯低通滤波器,指数低通滤波器和梯形低通滤波器对图像处理
知道多少说多少哈而且金币不多希望大虾帮忙滤波器的程序能搜到但是不会用这些去对图像处理我要的是类似这个的,下面这个是巴特沃斯低通滤波器,我刚搜到的:i=imread('J2...
知道多少说多少哈 而且金币不多 希望大虾帮忙
滤波器的程序能搜到 但是不会用这些去对图像处理 我要的是类似这个的,下面这个是巴特沃斯低通滤波器,我刚搜到的:
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的巴特沃斯低通滤波处理后'); 展开
滤波器的程序能搜到 但是不会用这些去对图像处理 我要的是类似这个的,下面这个是巴特沃斯低通滤波器,我刚搜到的:
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的巴特沃斯低通滤波处理后'); 展开
5个回答
展开全部
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)[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很可能,我已经用尽了现有原始数据的所有潜能
铭普光磁
2024-11-11 广告
2024-11-11 广告
网络滤波器是东莞铭普光磁股份有限公司生产的一种重要电子元器件。它是一种选频电路,能够允许某一部分频率的信号顺利通过,而抑制另一部分频率的信号。网络滤波器由电容、电感和电阻等元件组成,通过精确调整这些元件,实现对信号频率响应的控制。它广泛应用...
点击进入详情页
本回答由铭普光磁提供
展开全部
比如你要处理的信号叫x(n),是一个N点的序列。
理想低通滤波器最简单,先对x(n)做FFT,得到频域特性X(k),然后把高频部分的数据改为0,最后在用IFFT变换转换到时域,就是理想滤波了,因为高频完全被抹掉了,而低频信息丝毫不变。
其他滤波器就不能这样赖皮的做了,因为理想滤波器必须有无限多个抽头才能达到“高频完全被抹掉了,而低频信息丝毫不变”的效果。实际中是不可能的。其他滤波器就是根据你要的阶数先设计出滤波器的时域冲击响应h(n),再用filter( )函数让信号通过这个滤波器,这样来实现
理想低通滤波器最简单,先对x(n)做FFT,得到频域特性X(k),然后把高频部分的数据改为0,最后在用IFFT变换转换到时域,就是理想滤波了,因为高频完全被抹掉了,而低频信息丝毫不变。
其他滤波器就不能这样赖皮的做了,因为理想滤波器必须有无限多个抽头才能达到“高频完全被抹掉了,而低频信息丝毫不变”的效果。实际中是不可能的。其他滤波器就是根据你要的阶数先设计出滤波器的时域冲击响应h(n),再用filter( )函数让信号通过这个滤波器,这样来实现
追问
需要程序啊~~ 我可什么都不会啊
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
指数低通
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)指数低通滤波器处理');
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)指数低通滤波器处理');
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对这里不很了解,不敢多说
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以上百度下如何使用,有些网站是有教你怎么使用的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询