《數(shù)字圖像處理圖像變換與頻域處理》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)字圖像處理圖像變換與頻域處理(5頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、
南京信息工程大學(xué) 計(jì)算機(jī)圖像處理 實(shí)驗(yàn) (實(shí)習(xí) )報(bào)告
實(shí)驗(yàn) (實(shí)習(xí) )名稱 圖像變換與頻域處理 實(shí)驗(yàn) (實(shí)習(xí) )日期 得分 指導(dǎo)老師
系 專業(yè) 班級(jí) 姓名 學(xué)號(hào)
一、 實(shí)驗(yàn)?zāi)康?
1.了解離散傅里葉變換的基本性質(zhì);
2.熟練掌握?qǐng)D像傅里葉變換的方法及應(yīng)用;
3.通過實(shí)驗(yàn)了解二維頻譜的分布特點(diǎn);
4.熟悉圖像頻域處理的意義和手段;
5.通過本實(shí)驗(yàn)掌握利用 MATLAB 的工具箱實(shí)現(xiàn)數(shù)字圖像的頻域處理。
二、 實(shí)驗(yàn)原理
(一)傅立葉變換
傅立葉變換是數(shù)字圖像處理中應(yīng)用最廣的一種變換,其中圖像增強(qiáng)、
2、圖像復(fù)原和圖像分析與描述等,每一類處理方法都要用到圖像變換,尤其是圖像的傅立
葉變換。
離散傅立葉( Fourier )變換的定義:
二維離散傅立葉變換( DFT)為:
1
M 1 N
1
j 2
ux vy
)
M
N
F (u, v)
f (x, y) exp
(
MN x 0 y
逆變換為:
0
3、
1
M 1 N
1
j 2 (
ux
vy
)
f ( x, y)
F (u, v) exp
M
N
MN u 0 v 0
式中, u, x { 0,1,
, M 1}
v, y
{ 0,1,
, N
1}
在 DFT變換對(duì)中, F (u, v) 稱為離散信號(hào)
f (x, y) 的頻譜,而
F (u,v) 稱為幅度
4、譜, (u, v)
為相位角,功率譜為頻譜的平方,它們之間的關(guān)系為:
F (u,v) F (u, v) exp[ j
(u,v)]
R(u, v)
jI (u, v)
圖像的傅立葉變換有快速算法。
(二)圖像的頻域增強(qiáng)
常用的圖像增強(qiáng)技術(shù)可分為基于
空域和基于 變換域 的兩類方法。最常用的變換域是 頻域
空間 。在頻域空間, 圖像的信息表現(xiàn)為不同頻率分量的組合。
如果能讓某個(gè)范圍內(nèi)的分量或
某些頻率的分
5、量受到抑制而讓其他分量不受影響,
就可以改變輸出圖像的頻率分布,
達(dá)到不
同的增強(qiáng)目的。
頻域增強(qiáng)的工作流程:
傅立葉變換
濾波器
傅立葉反變換
f ( x, y)
F (u, v)
H (u ,v)
G (u , v)
g( x, y)
頻域空間的增強(qiáng)方法對(duì)應(yīng)的三個(gè)步驟:
(1)
將圖像
6、f(x,y) 從圖像空間轉(zhuǎn)換到頻域空間,得到
F(u,v) ;
(2)
在頻域空間中通過不同的濾波函數(shù)
H(u,v) 對(duì)圖像進(jìn)行不同的增強(qiáng) , 得到 G(u,v) (注:
1
不同的濾波器濾除的頻率和保留的頻率不同,因而可獲得不同的增強(qiáng)效果) ;
(3) 將增強(qiáng)后的圖像再?gòu)念l域空間轉(zhuǎn)換到圖像空間,得到圖像 g(x,y) 。
1.低通濾波
圖像中的邊緣和噪聲都對(duì)應(yīng)圖像傅立葉變換中的高頻部分,如要在頻域中消弱其影響,
設(shè)法減弱這部分頻率的分量。選擇合適的 H(u,v) 以得到消弱 F(u,v) 高
7、頻分量的 G(u,v) 。所以低通濾波可以除去或消弱噪聲的影響并模糊邊緣輪廓,與空域中的平滑方法類似。
典型的低通濾波器: (見教材)
– 理想低通濾波器
– Butterworth 低通濾波器
– 指數(shù)低通濾波器
– 梯形低通濾波器
2.高通濾波
圖像的邊緣、 細(xì)節(jié)主要位于高頻部分, 而圖像的模糊是由于高頻成分比較弱產(chǎn)生的。 頻
率域銳化就是為了消除模糊, 突出邊緣。 因此采用高通濾波器讓高頻成分通過, 使低頻成分
削弱,再經(jīng)逆傅立葉變換得到邊緣銳化的圖像。
常用的高通濾波器: (見教材)
– 理想高通濾波器
– But
8、terworth 高通濾波器
– 指數(shù)高通濾波器
– 梯形高通濾波器
三、 實(shí)驗(yàn)內(nèi)容與步驟
1. 產(chǎn)生右圖所示亮塊圖像 f1(x,y) (128 128 大小,暗處 =0 ,亮處 =255),對(duì)其進(jìn)行 FFT:(1)同屏顯示原圖 f1和FFT(f1) 的幅度譜圖;
( 2)若令 f2(x,y) = (-1) x+y f1(x,y) ,重復(fù)以上過程,比較二者幅度譜的異同,簡(jiǎn)述理由;
( 3)若將 f2(x,y) 順時(shí)針旋轉(zhuǎn) 45度得到 f3(x,y) ,試顯示 FFT(f3) 的幅度譜,并與 FFT(f2) 的幅度
譜進(jìn)行比較。
9、
2. 對(duì)數(shù)字圖像 GIRL_8G.bmp 進(jìn)行頻域的理想低通、高通濾波,并觀察不同濾波半徑
(0.0~1.0) 條件下濾波圖像的變化;同屏顯示原圖、幅度譜圖和低通、高通濾波的結(jié)果圖。
本實(shí)驗(yàn)用到的 MATLAB 的函數(shù) :
1. 函數(shù): imrotate
功能:旋轉(zhuǎn)圖像。
語法: B = imrotate(A,angle,method)
B = imrotate(A,angle,method,crop)
舉例:
I = imread(d:\matlab work\pic\num
10、eral_1.jpg);
2
J = imrotate(I,60,bilinear,crop); %雙線性插值法旋轉(zhuǎn)圖像 60度,并剪切圖像和原圖像大小一致
subplot(121), imshow(I); title( 原圖像 ); subplot(122),imshow(J); title( 旋轉(zhuǎn)圖像 60度,并剪切圖像 );
2. MA TLAB 實(shí)現(xiàn)數(shù)字圖像傅立葉變換的程序示例:
[I,map]=imread( ‘原圖像名 ’); %讀入原圖像文件
figure(1); imshow(I, map); %設(shè)定窗口,顯
11、示原圖像
colorbar; % colorbar 函數(shù)用顯示圖像的顏色條
J = fft2(I); % fft2 函數(shù)用于數(shù)字圖像的二維傅立葉變換
K = fftshift(J); % 一般在計(jì)算圖形函數(shù)的傅立葉變換時(shí),坐標(biāo)原點(diǎn)在函數(shù)圖形的中心
位置處, 而計(jì)算機(jī)在對(duì)圖像執(zhí)行傅立葉變換時(shí)是以圖像的左上角為坐標(biāo)原點(diǎn)。 所以使用函數(shù)
fftshift 進(jìn)行修正,使變換后的直流分量位于圖形的中心
RR=real(K); %取傅立葉變換的實(shí)部
II=imag(K); % 取傅立葉變換的虛部
A=sqrt(RR.^2+II.^2); %計(jì)算頻譜幅值
12、
A= ( A-min(min(A)) ) / (max(max(A))-min(min(A)))*225; %歸一化
figure(2); imshow(A,[]); %設(shè)定窗口,顯示原圖像的頻譜
colorbar;
N=ifft2(J)/255; % ifft2 函數(shù)用于數(shù)字圖像的二維傅立葉反變換
figure(3); imshow(N,[]);
colorbar;
3.程序示例:低通濾波 -平滑
[I,map]=imread( ‘原圖像名 ’); %讀入原圖像文件
figure(1); imshow(I, map); %設(shè)定窗口,顯示原
13、圖像
J1=imnoise(I,salt & pepper); % 疊加椒鹽噪聲
figure(2); imshow(J1, map);
F = double(J1); % 數(shù)據(jù)類型轉(zhuǎn)換, MA TLAB 不支持圖像的無符號(hào)整型的計(jì)算
G = fft2(f); % 傅立葉變換
G= fftshift(G);
[M,N]=size(G);
nn = 2; % 二階巴特沃斯 (Butterworth) 低通濾波器
d0 = 50;
m = fix(M/2);
n = fix(N/2);
for i = 1 : M
for
14、 j = 1 : N
d = sqrt((i-m)^2+(j-n)^2);
h = 1/(1+0.414*(d/d0)^(2*nn)); % 計(jì)算低通濾波器傳遞函數(shù)
result(i,j) = h * G(i,j);
end;
end;
result = ifftshift(result);
J2 = ifft2(result);
3
J3 = uint8(real(J2));
figure,imshow(J3,[]); % 顯示濾波處理后的圖像
4.程序示例:高通濾波 - 銳化
[
15、I,map]=imread( ‘原圖像名 ’); %讀入原圖像文件
figure(1); imshow(I, map); %設(shè)定窗口,顯示原圖像
F= double(I); % 數(shù)據(jù)類型轉(zhuǎn)換, MA TLAB 不支持圖像的無符號(hào)整型的計(jì)算
G = fft2(F); % 傅立葉變換
G = fftshift(G); % 轉(zhuǎn)換數(shù)據(jù)矩陣
[M,N]=size(G);
nn = 2; % 二階巴特沃斯 (Butterworth) 高通濾波器
d0 = 5;
m = fix(M/2);
n = fix(N/2);
for i = 1 :
16、M
for j = 1 : N
d = sqrt((i-m)^2+(j-n)^2);
if (d == 0)
h = 0;
else
h=1/(1+0.414*(d0/d)^(2*nn));% 計(jì)算傳遞函數(shù)
end;
result(i,j) = h * G(i,j);
end;
end;
result = ifftshift(result);
J2= ifft2(result);
J3= uint8(real(J2));
figure(2); imshow(J3,[]); % 濾波后圖像顯示
4