最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

matlab傅立叶变换及图像的频域处理

来源:动视网 责编:小OO 时间:2025-09-28 01:05:27
文档

matlab傅立叶变换及图像的频域处理

实验六傅立叶变换及图像的频域处理一、实验目的1、理解离散傅立叶变换的基本原理;2、掌握应用MATLAB语言进行FFT及逆变换的方法;3、熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。二、实验原理1、傅立叶变换的基本知识2、MATLAB提供的快速傅立叶变换函数三、实验要求1、读取图像,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同。subplot(1,3,1),imshow(A);title('原图像');B=fftshift
推荐度:
导读实验六傅立叶变换及图像的频域处理一、实验目的1、理解离散傅立叶变换的基本原理;2、掌握应用MATLAB语言进行FFT及逆变换的方法;3、熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。二、实验原理1、傅立叶变换的基本知识2、MATLAB提供的快速傅立叶变换函数三、实验要求1、读取图像,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同。subplot(1,3,1),imshow(A);title('原图像');B=fftshift
实验六  傅立叶变换及图像的频域处理

一、实验目的

1、理解离散傅立叶变换的基本原理;

2、掌握应用MATLAB语言进行FFT及逆变换的方法;

3、熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。

二、实验原理

1、傅立叶变换的基本知识

2、MATLAB提供的快速傅立叶变换函数

三、实验要求

1、读取图像,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同。

subplot(1,3,1),imshow(A);title('原图像');

B=fftshift(fft2(A));

subplot(1,3,2),imshow(log(abs(B)), [ ], 'notruesize');title('二维傅立叶变换');

C= ifft2(B);

subplot(1,3,3),imshow(log(abs(C)), [ ], 'notruesize');title('逆变换后图像');  

2、设计一个简单的理想低通滤波器(截止频率自选),对图像作频域低通滤波,再作反变换,观察不同的截止频率下反变换后的图像与原图像的区别。

subplot(3,2,1),imshow(A);title('原图像');

B=fftshift(fft2(A));

E= ifft2(B);

subplot(3,2,2),imshow(log(abs(E)), [ ], 'notruesize');title('未滤波的逆变换图像');

[m,n]=size(X);

H1=zeros(m,n);

H1(m/2:m, n/2:n)=1;

LOWPASS1=B.* H1; 

C=ifft2(LOWPASS1);

subplot(3,2,3),imshow(log(abs(LOWPASS1)), [ ], 'notruesize');title('低通1');

subplot(3,2,4),imshow(log(abs(C)), [ ], 'notruesize');title('低通1逆变换图像');

H2=zeros(m,n);

H2(m/10:m, n/10:n)=1;

LOWPASS2=B.* H2; 

D=ifft2(LOWPASS2);

subplot(3,2,5),imshow(log(abs(LOWPASS2)), [ ], 'notruesize');title('低通2');

subplot(3,2,6),imshow(log(abs(D)), [ ], 'notruesize');title('低通2逆变换图像');

3、设计一个简单的理想高通滤波器(截止频率自选),对图像作频域高通滤波,再作反变换,观察不同的截止频率下反变换后的图像与原图像的区别。

subplot(3,2,1),imshow(A);title('原图像');

B=fftshift(fft2(A));

E= ifft2(B);

subplot(3,2,2),imshow(log(abs(E)), [ ], 'notruesize');title('未滤波的逆变换图像');

[m,n]=size(X);

H1=ones(m,n);

H1(m/3:m*2/3, n/3:n*2/3)=0;

LOWPASS1=B.* H1; 

C=ifft2(LOWPASS1);

subplot(3,2,3),imshow(log(abs(LOWPASS1)), [ ], 'notruesize');title('高通1');

subplot(3,2,4),imshow(log(abs(C)), [ ], 'notruesize');title('高通1逆变换图像');

H2=ones(m,n);

H2(m*3/5:m, n*3/5:n)=0;

LOWPASS2=B.* H2; 

D=ifft2(LOWPASS2);

subplot(3,2,5),imshow(log(abs(LOWPASS2)), [ ], 'notruesize');title('高通2');

subplot(3,2,6),imshow(log(abs(D)), [ ], 'notruesize');title('高通2逆变换图像');

4、(选做内容):对一幅图像作傅立叶变换,显示一幅频域图像的振幅分布图和相位分布图,分别对振幅分布和相位分布作傅立叶逆变换,观察两幅逆变换后的图像,体会频域图像中振幅与位相的作用。

A=fftshift(fft2(I));

A1=angle(A);

B=ifft2(A);

B1=ifft2(A1);

C=ifft2(abs(A));

figure;

subplot(2,3,1),imshow(I);title('原图像');

subplot(2,3,2),imshow(A1,[],'notruesize');title('相位谱');

subplot(2,3,3),imshow(log(abs(A)),[],'notruesize');title('傅立叶振幅频谱');

subplot(2,3,4),imshow(log(abs(B)),[],'notruesize');title('直接图像逆变换');

subplot(2,3,5),imshow(log(abs(B1)),[],'notruesize');title('相位逆变换');

subplot(2,3,6),imshow(log(abs(C)),[],'notruesize');title('傅立叶振幅逆变换');

 

5、(选做内容):设计一个其它类型(如巴特沃思、指数、梯形等)的低通滤波器,对图像作频域低通滤波,比较这一滤波器和理想滤波器滤波结果的差异。

频域低通滤波:

 

A=fftshift(fft2(I));

d0=100;

N=8;

[m,n]=size(A);

h=zeros(m,n);

[a,b]=size(I);

H=zeros(a,b);

H(a/4:3*a/4,b/4:3*b/4)=1;

for i=1:m

   for j=1:n

  d(i,j)=sqrt(i^2+j^2);

  h(i,j)=1/(1+(d(i,j)/d0)^(2*N));

  end

low1=A.*H;

B=ifft2(low1);

low2=A.*h;

C=ifft2(low2);

figure;

subplot(2,3,4),imshow(I);title('原图像');

subplot(2,3,2),imshow(log(abs(low1)),[],'notruesize');title('理想低通滤波频谱');

subplot(2,3,3),imshow(log(abs(low2)),[],'notruesize');title('巴特沃思低通滤波频谱');

subplot(2,3,1),imshow(log(abs(A)),[],'notruesize');title('傅立叶振幅频谱');

subplot(2,3,5),imshow(uint8(abs(B)),[],'notruesize');title('理想低通滤波后图像');

subplot(2,3,6),imshow(uint8(abs(C)),[],'notruesize');title('巴特沃思低通滤波后图像');

时域低通滤波:

A=fftshift(fft2(I));

[m,n]=size(I);

H=zeros(m,n);

H(m/4:3*m/4,n/4:3*n/4)=1;

low=A.*H;

B=ifft2(low);

[b,a]=butter(8,0.7);

C=filter(b,a,double(I));

figure;

subplot(1,3,1),imshow(I);title('原图像');

subplot(1,3,2),imshow(uint8(abs(B)));title('理想低通滤波后图像');

subplot(1,3,3),imshow(uint8(C));title('巴特沃思低通滤波后图像');

 

文档

matlab傅立叶变换及图像的频域处理

实验六傅立叶变换及图像的频域处理一、实验目的1、理解离散傅立叶变换的基本原理;2、掌握应用MATLAB语言进行FFT及逆变换的方法;3、熟悉图像在频域中处理方法,应用MATLAB语言作简单的低通滤波器。二、实验原理1、傅立叶变换的基本知识2、MATLAB提供的快速傅立叶变换函数三、实验要求1、读取图像,显示这幅图像,对图像作傅立叶变换,显示频域振幅图像。作傅立叶逆变换,显示图像,看是否与原图像相同。subplot(1,3,1),imshow(A);title('原图像');B=fftshift
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top