Skip to content

Commit 12cc625

Browse files
committed
Update format
1 parent 7cbe181 commit 12cc625

File tree

3 files changed

+170
-0
lines changed

3 files changed

+170
-0
lines changed

01_image_display_method_of_matlab.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,5 +177,15 @@ Xlable(), Ylable()函数
177177

178178

179179

180+
参考文献:
181+
182+
[1] [Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_Using_Matlab.pdf)
183+
184+
[2] [阮秋琦. 数字图像处理(MATLAB版)\[M\]. 北京:电子工业出版社, 2014.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)
185+
186+
[3] [冈萨雷斯. 数字图像处理(第三版)\[M\]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)
187+
188+
189+
180190
[返回首页](https://github.com/timerring/digital-image-processing-matlab)
181191

02_gray_histogram_and_histogram_equalization.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,16 @@ figure;
9494
imhist(K),title('直方图均衡化后的直方图')
9595
```
9696

97+
参考文献:
98+
99+
[1] [Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_Using_Matlab.pdf)
100+
101+
[2] [阮秋琦. 数字图像处理(MATLAB版)\[M\]. 北京:电子工业出版社, 2014.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)
102+
103+
[3] [冈萨雷斯. 数字图像处理(第三版)\[M\]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)
104+
105+
106+
97107

98108

99109
[返回首页](https://github.com/timerring/digital-image-processing-matlab)
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
# 图像的傅立叶变换
2+
3+
## 目的
4+
5+
1.掌握二维 DFT 变换及其物理意义
6+
7+
2.掌握二维 DFT 变换的MATLAB 程序
8+
9+
3.空域滤波与频域滤波
10+
11+
## 原理
12+
13+
### 1.应用傅立叶变换进行图像处理
14+
15+
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
16+
17+
### 2.傅立叶(Fourier)变换的定义
18+
19+
对于二维信号,二维Fourier 变换定义为:
20+
$$
21+
F(u, v)=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} f(x, y) e^{-j 2 \pi (u x+vy)} d x d y
22+
$$
23+
逆变换:
24+
$$
25+
f(x, y)=\int_{-\infty}^{\infty} \int_{-\infty}^{\infty} F(u d, v) e^{j 2 \pi (u x+vy) } d u d v
26+
$$
27+
二维离散傅立叶变换为:
28+
$$
29+
F(u, v)=\sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y) e^{-j 2 \pi(\frac{\mathrm{ux}}{\mathrm{M}}+\frac{v y}{N})}
30+
$$
31+
逆变换:
32+
$$
33+
f(x, y)=\frac{1}{M N} \sum_{u=0}^{M-1} \sum_{v=0}^{N-1} F(u, v) e^{j 2 \pi(\frac{\mathrm{ux}}{M}+\frac{v y}{N})}
34+
$$
35+
图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。
36+
37+
## 利用MATLAB 实现数字图像的傅立叶变换
38+
39+
A.
40+
41+
```matlab
42+
I=imread('D:\pic\DIP3E_CH03\Fig0316(3)(third_from_top).tif'); %读入原图像文件
43+
imshow(I); %显示原图像
44+
fftI=fft2(I); %二维离散傅立叶变换
45+
sfftI=fftshift(fftI); %直流分量移到频谱中心
46+
RR=real(sfftI); %取傅立叶变换的实部
47+
II=imag(sfftI); %取傅立叶变换的虚部
48+
A=sqrt(RR.^2+II.^2);%计算频谱幅值
49+
A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化
50+
figure %设定窗口
51+
imshow(A); %显示原图像的频谱
52+
```
53+
54+
B.
55+
56+
傅立叶变换在图像处理,特别是在图像增强、复原和压缩中,扮演着非常重要的作用。实际中一般采用一种叫做快速傅立叶变换(FFT)的方法,MATLAB 中的fft2 指令用于得到二维FFT 的结果,ifft2 指令用于得到二维FFT 逆变换的结果。
57+
58+
近似冲击函数的二维快速傅立叶变换(FFT)
59+
60+
```matlab
61+
x=1:99;y=1:99;
62+
[X,Y]=meshgrid(x,y);
63+
A=zeros(99,99);
64+
A(49:51,49:51)=1;
65+
B=fft2(A);
66+
subplot(1,2,1),imshow(A),xlabel('空域图象');
67+
subplot(1,2,2),imshow(B),xlabel('时域图象');
68+
figure
69+
subplot(1,2,1),mesh(X,Y,A),xlabel('空域'),grid on;
70+
subplot(1,2,2),mesh(X,Y,abs(B)),xlabel('时域'),grid on;
71+
```
72+
73+
## 空域滤波与频域滤波
74+
75+
```matlab
76+
% 用于频域滤波的m函数
77+
function g=dftfilt(f,H)
78+
F=fft2(f,size(H,1),size(H,2));
79+
g=real(ifft2(H.*F));
80+
g=g(1:size(f,1),1:size(f,2));
81+
82+
%
83+
function PQ=paddedsize(AB,CD,PARAM)
84+
if nargin==1
85+
PQ=2*AB;
86+
elseif nargin ==2 & ~ischar(CD)
87+
PQ=AB+CD-1;
88+
PQ=2*ceil(PQ/2);
89+
elseif nargin == 2
90+
m=max(AB);
91+
P=2^nextpow2(2*m);
92+
PQ=[P,P];
93+
elseif nargin == 3
94+
m=max([AB CD]);
95+
P=2^nextpow2(2*m);
96+
PQ=[P,P];
97+
else
98+
error('Wrong number of inputs')
99+
end
100+
101+
102+
%图像f的傅里叶频谱
103+
f=imread(' D:\pic\DIP3E_CH04\Fig0438(a)(bld_600by600).tif');
104+
F=fft2(f);
105+
S=fftshift(log(1+abs(F)));
106+
%S=gscale(S);
107+
% gscale 函数参照 function g=gscale(f,varargin)
108+
imshow(S)
109+
110+
%使用函数fspecial生成空间滤波器
111+
h=fspecial(‘sobel’)
112+
freqz2(h) %查看相应频域滤波器图形
113+
PQ=paddedsize(size(f));
114+
H=freqz2(h,PQ(1),PQ(2));
115+
H1=ifftshift(H);
116+
117+
imshow(abs(H),[])
118+
figure,imshow(abs(H1),[])
119+
120+
gs=imfilter(double(f),h);% 生成滤波后的图像,并默认采用了0进行边界填
121+
122+
gf=dftfilt(f,H1);
123+
124+
imshow(gs,[])
125+
figure,imshow(gf,[])
126+
127+
figure,imshow(abs(gs),[])
128+
figure,imshow(abs(gf),[])
129+
130+
%创建一幅阀值2值图像
131+
figure,imshow(abs(gs)>0.2*abs(max(gs(:))))
132+
figure,imshow(abs(gf)>0.2*abs(max(gf(:))))
133+
d=abs(gs-gf);
134+
max(d(:))
135+
min(d(:))
136+
```
137+
138+
139+
140+
参考文献:
141+
142+
[1] [Rafael C. Gonzalez, Richard E. Woods, and Steven L. Eddins. 2003. Digital Image Processing Using MATLAB. Prentice-Hall, Inc., USA.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_Using_Matlab.pdf)
143+
144+
[2] [阮秋琦. 数字图像处理(MATLAB版)\[M\]. 北京:电子工业出版社, 2014.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(MATLAB_version).pdf)
145+
146+
[3] [冈萨雷斯. 数字图像处理(第三版)\[M\]. 北京:电子工业出版社, 2011.](https://github.com/timerring/digital-image-processing-matlab/blob/main/reference/Digital_Image_Processing_(Third_Edition).pdf)
147+
148+
149+
150+
[返回首页](https://github.com/timerring/digital-image-processing-matlab)

0 commit comments

Comments
 (0)