应用Matlab对图像信号进行频谱分析及滤波

2026/4/29 0:36:22

应用Matlab对图像信号进行频谱分析及滤波

选取一张彩色图片,建议把像素设置成200*200,提取图像的灰度值,并显示出灰度图像;在图像中增加正弦噪声信号(自己设置几个频率的正弦信号),画出加入噪声信号后的灰度图像;给定滤波器的性能指标,采用窗函数法或者双线性变换设计数字低通滤波器,并画出滤波器的频率响应;然后用自己设计的滤波器对含噪声图像信号进行滤波,画出滤波后图像信号的灰度图像。利用频谱分析对原始灰度图像、加入噪声信号的灰度图像、和滤波后的灰度图像进行频谱分析和对比,分析信号的变化。

x=imread('D:\\1.jpg'); x1=rgb2gray(x); [M,N]=size(x1); x2=im2double(x1); figure(1); subplot(1,3,1) imshow(x2);

x3=zeros(1,M*N); for i=1:M

for j=1:N;

x3(M*(i-1)+j)= x2(i,j); end end

L=M*N; fs=40000; dt=1/fs; n=0:L-1;

x7=(sin(2*pi*15000*n*dt)/10+sin(2*pi*18000*n*dt)/6) x4=x3+x7;

for i=1:M

for j=1:N;

x5(i,j) = x4(M*(i-1)+j); end

end figure(1) subplot(132); imshow(x5)

wp=0.5*pi; ws=0.75*pi; rp=3; rs=50;

[n,wn]=buttord(wp/pi,ws/pi,rp,rs,'s'); [Bz,Az]=butter(n,wp/pi); %[z,p,k]=buttap(n);

%[Bap,Aap]=zp2tf(z,p,k); %[B,A]=lp2lp(Bap,Aap,wn); %[Bz,Az]=bilinear(B,A,F); [h,w]=freqz(Bz,Az,L,fs); figure(3) subplot(121); plot(w,abs(h));

x6=zeros(1,L); for i=1:M

for j=1:N;

x6(M*(i-1)+j)= x5(i,j); end end

x8=zeros(1,L);

x8=filter(Bz,Az,x6);

x3k=fft(x3,L) figure(2) subplot(131)

plot(w*2,abs(x3k))

x4k=fft(x4,L) figure(2) subplot(132)

plot(w*2,abs(x4k))

x7k=fft(x7,L) figure(3) subplot(122)

plot(w*2,abs(x7k))

x8k=fft(x8,L) figure(2) subplot(133)

plot(w*2,abs(x8k))

for i=1:M

for j=1:N;

x9(i,j) = x8(M*(i-1)+j); end end figure(1) subplot(133); imshow(x9);


应用Matlab对图像信号进行频谱分析及滤波.doc 将本文的Word文档下载到电脑
搜索更多关于: 应用Matlab对图像信号进行频谱分析及滤波 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219