鄭曉光++門克內木樂++于少雪++周敏++呂嘉泰++尹趙金
摘 要:光學信息處理具有速度高、容量大等優點。透鏡傅里葉(Fourier)變換是其最核心方法之一。本文先給出Fourier變換光信息處理原理,并實現了對二維光柵圖像進行不同方向上的狹縫濾波和圓孔光闌(低通)濾波處理的實驗;再用Matlab軟件對之進行了模擬仿真,模擬結果與實驗結果相符,證明以此方法作為計算機輔助教學實驗是可行的,不但能夠加深學生對光信息處理原理的理解,同時還可以給出實際上難以實現的一些實驗結果,如高通濾波、帶通濾波和雙孔濾波等。
關鍵詞:光信息處理 Fourier變換 Matlab模擬 阿貝成像原理 空間濾波
中圖分類號:TP391 文獻標識碼:A 文章編號:1672-3791(2017)09(b)-0204-06
光學信息處理是近年來發展起來的一門新興學科,指的是用光學的方法實現對輸入信息的各種變換或處理。與其他形式的信息處理技術相比,光學信息處理具有高度并行性和大容量的特點。這一學科發展很快,現在已經在許多領域進入了實用階段[1-3]。
光學信息處理的內容十分豐富。然而透鏡的傅里葉變換效應,即阿貝二次成像理論,是光學信息處理的理論核心。1873年德國科學家阿貝(E.Abbe)提出二次成像理論[4]。阿貝本人和波特(Porter)分別于1893年、1906年用實驗驗證了阿貝成像原理,稱為阿貝一波特空間濾波實驗[5]。阿貝成像理論不僅用傅里葉變換闡述了透鏡成像的機理,更重要的是首次引入頻譜的概念,對頻譜的分析和綜合的原理做出了深刻的解釋,啟發人們用改造頻譜的手段來改造信息,直到今天在圖像處理中仍然有廣泛的應用價值[6]。
但是傅里葉光信息處理實驗中,由于受實驗條件的制約,往往不能取得預期的效果,同時有些特殊的信息處理方法實驗很難實現[7]。而通過計算機模擬輔助實驗的手段,不但可以獲得更加精確的實驗效果圖,而且還可以不受實驗儀器的限制仿真一些實際很難觀測到的現象,同時濾波器參數的隨意替換可以讓學生更為靈活地觀察到比真實實驗更多的實驗現象[8],讓學生更好的理解傅里葉光信息處理原理,提高學習興趣。
MATLAB是美國MathWorks公司于1984年推出的一套高性能和可視化軟件,像C語言一樣,是一種十分有名的計算機語言[9]。它集數值分析、矩陣運算、信號處理、建模仿真和圖形顯示等為一體,構成了一個方便的、接口友好的用戶環境[8]。在Matlab中,有很多現成的函數可以直接調用,而且在計算方面,可以直接用相應的計算符號即可,因此人們首先稱之為演算紙式語言。
本論文通過阿貝-波特空間濾波實驗,解釋了光學Fourier變換及光信息空間頻譜濾波處理的原理,并通過Matlab軟件對Fourier光信息處理過程進行了仿真模擬,并與實驗結果進行了比較。之前相關文章要么只有計算機模擬,要么只有實驗,我們至今沒有發現將實驗與模擬放在一起進行對比的文章。
1 實驗原理、方法與結果
1.1 實驗原理
阿貝成像理論將物看成不同空間頻率信息的集合,透鏡的成像過程可以分為兩步,如圖1所示。第一步是入射光場經物平面O發生夫瑯禾費衍射,在透鏡L1后焦面F(即空間頻譜面)上形成衍射斑陣列,稱為空間頻譜或傅立葉頻譜,這是衍射所引起的“分頻”作用;第二步是各衍射斑作為新的次波源發出球面次波(即不同空間頻率的各光束),在像面Q上疊加相干,形成物體的像,這是干涉所引起的“合成”作用。
阿貝成像理論中的成像過程的這兩步本質上就是兩次傅立葉變換。我們通過增加一個透鏡,如圖2所示(阿貝—波特空間濾波實驗光路),可以將阿貝成像理論更加具體化。物面O置于透鏡L1的前焦面,像面I置于透鏡L2的后焦面,L1的后焦面和L2的前焦面重合,從而形成4f系統。L1和L2分別起分頻和合頻的作用。
在物平面上光場復振幅分布為O(x,y),L1后焦面上形成的光斑陣列復振幅為F(ξ,η),當L1的孔徑無限大時,F(ξ,η)是O(x,y)的傅里葉變換,即空間頻譜,這是L1所引起的“分頻”作用:
(1)
在像平面上光場復振幅分布為I(x',y')。同樣,當L2的孔徑無限大時,I(x',y')是F(ξ,η)的傅里葉逆變換,這是L2所引起的“合頻”作用:
(2)
如果在光學系統的頻譜平面F上放置空間濾波屏,并設其復振幅透射函數為T(ξ,η),則透過屏的光場復振幅分布為:
(3)
經過透鏡L2后,在像平面上便得到經過濾波屏調制后的輸出圖像的光場復振幅分布:
(4)
在光學系統頻譜面F上放置各種空間濾波器,對光學圖像信號進行濾波,提取或加強所需的圖像(信號),濾掉或抑制不需要的圖像(噪聲),并進行透鏡傅里葉逆變換輸出處理后的圖像。這就是光學信息處理的基本原理。
1.2 實驗方法
我們的傅里葉光信息處理實驗光路如圖3所示。實驗中用的光源為氦氖激光器,由擴束準直器BE擴束后照射到物O上。物O為二維網格狀光柵,物O、CCD光敏面以及透鏡L1和L2之間形成4f系統,空間濾波器(狹縫或光闌)A置于頻譜面上。此時,CCD光敏面上可以拍攝到輸出的處理后圖像。如果將L2用透鏡L3(f2=2f3)更換掉,在CCD光敏面上可以拍攝到對應的功率譜(頻譜面上光強分布)等大像。
1.3 實驗結果
實驗結果如圖4所示,圖4(a1~g1)都是頻譜面上的功率譜圖(傅里葉變換圖,放置透鏡L3時拍攝到的),圖4(a2~g2)是對應的計算機模擬圖,圖4(a3~g3)是(a1~g1)不同空間頻率的各光束疊加相干成的像(反傅里葉變換,處理后圖像,放置透鏡L2時拍攝到的),圖4(a4~g4)是對應的計算機模擬圖。
去掉光闌,拍攝到的功率譜和成像如圖4-a1和4-a3所示。如果信息在傅里葉變換過程中沒有損失,則像平面所得的像和物完全相似,如計算結果圖4-a4所示。但是實驗成像結果如圖4-a3所示,方格邊界較模糊,這是由于透鏡的孔徑是有限的,有一部分衍射角度較大的高頻信息不能進入物鏡L1而被丟棄了,所以物所包含的超過一定空間頻率的信息就無法反應到像上。這是顯微鏡分辨率受到限制的根本原因。endprint
調整光闌為豎直狹縫,使只有豎直的光譜的每一級都通過光闌,如圖4-b1所示。此時反傅里葉變換像為一些水平條紋(上下兩束光疊加后的干涉條紋),如圖4-b3所示。
同理我們可以調整狹縫光闌使只有水平、向左傾斜45°、向右傾斜45°的光譜的每一級都通過,如圖4-c1、4-d1、4-e1中所示。此時,對應的反傅里葉變換像為一些豎直條紋、向右傾斜45°條紋和向左傾斜45°條紋,如圖4-c3、4-d3、4-e3所示。
如果只讓零級光譜通過,如下圖4-f1中所示,經過反傅里葉變換的圖像則只有一個大的高斯亮斑,如圖4-f3所示。只有一束光,因此沒有干涉條紋。
如果只讓零級光譜和一級光譜通過,如下圖4-g1中所示,丟失了高頻信息,經過反傅里葉變換的圖像則是一個模糊的網格圖像,如圖4-g3所示。
2 MATLAB模擬仿真方法與結論
MATLAB軟件編程簡單、易學,提供了強大的圖形繪制和輸出功能,可以方便地模擬傅里葉光學實驗。
2.1 模擬方法
計算機模擬傅里葉光學實驗的步驟與具體程序如下。
(1)構建原圖像信息:直接由矩陣運算生成一幅二值物體圖像,即二維光柵,調用命令imshow( )顯示原物體圖像,如圖4-a4中所示。
linewidth=5;%光柵線寬,將功率譜模擬圖與實驗結果進行比較,調節其數字
linespan=2*linewidth;%光柵間距
O=ones(105,105);
for i=1:linewidth
O(i:linespan:end,:)=0;
end
for i=1:linewidth
O(:,i:linespan:end)=0;
end
figure(1)
imshow(O) ; %顯示原物體圖像
(2)獲得頻譜數據:利用MATLAB函數庫中的二維離散傅里葉變換函數fft2( )對物體圖像數據O進行傅里葉變換,得到原圖像的頻譜。fft2函數在進行傅里葉變換時,變換結果將0頻率分量(直流成份)放在起始的位置,fftshift函數則將fft2變換后的低頻頻譜移至頻譜的中央,這樣便于觀測。
n(1)=2^nextpow2(2*size(O,1)-1); % 算出頻譜數據行數,取最接近2*size(O,1)-1的
2的整數次冪
n(2)=2^nextpow2(2*size(O,2)-1); % 算出頻譜數據列數
%行數和列數為2的整數次冪,fft2函數的運行效率會大大提高。
F=fft2(O,n(1),n(2));
SF=fftshift(F); %
(3)顯示功率譜,仿真實驗結果:頻譜是一個復數矩陣,利用取模函數abs( )對該復數矩陣取模,得到振幅譜矩陣,再開平方則可以獲得光強分布矩陣(也稱功率譜矩陣)。這是因為CCD和人眼在線性范圍內其輸出信號都與光強(功率)成正比。再用命令imshow( )顯示原物體圖像的功率譜圖,如圖5a中所示。由于CCD靈敏度和飽和度不同,拍攝效果與光強不一定成正比,為了真實仿真實驗結果(圖4-a1),顯示時光強放大20倍并加了背景光強0.3,通過與實驗結果比較可獲得這相乘系數和背景光強數據,如圖5b所示(同圖4-a2)。
A=abs(SF);%振幅譜
A=A^.2;%功率譜
figure(2)
imshow(A,[min(min(A),max(max(A))]);%直接顯示歸一化功率譜
B=(A-min(min(A)))/(max(max(A))-min(min(A))); %歸一化
B=B*20; %功率譜放大
B=B+0.3; %加背景光
figure(3)
imshow(B);
(4)構建不同形狀的光闌數據H(即濾波器)。
% 不進行濾波
H=ones(n); %與頻譜數據行列數相同
% 狹縫濾波函數
H=zeros(n);
dw=floor((n(1)-linewidth*3)/2); %取小于括號中數字的最大整數
H(dw:dw-1+linewidth*3,:)=1; %狹縫寬度為光柵線寬的三倍
angle=0; %水平方向是0,豎直時Pi/2,還有±Pi/4
H=imrotate(H,angle,'bilinear','crop'); %將H旋轉angle度
% 圓孔低通濾波
H=zeros(n);
r=0.3; %圓孔半徑所占比例
low=r*min(n)/2; % 轉換后的截止半徑
center1=floor(n(1)/2);
center2=floor(n(2)/2);
for i=1:n(1)
for j=1:n(2)
rr=sqrt((i-center1)^2+(j-center2)^2);
if rr<=low
H(i,j)=1;
end
end
end
% 圓孔高通濾波
之前的同低通濾波
H=1.-H
%圓環帶通濾波
H=zeros(n);endprint
r1=0.1;
r2=0.3;
low=r1*min(n)/2; % 內徑
high=r2*min(n)/2; % 外徑
center1=floor(n(1)/2);
center2=floor(n(2)/2);
for i=1:n(1)
for j=1:n(2)
rr=sqrt((i-center1)^2+(j-center2)^2);
if rr>=low & rr<=high
H(i,j)=1;
end
end
end
(5)對頻譜進行濾波,對頻譜F與光闌H的數據乘積,并顯示其功率譜分布,如圖4(a2~g2)中所示。
HSF=H.*SF;
C=(abs(HSF)).^2;
D=(C-min(min(C)))/(max(max(C))-min(min(C)));
D=D*20+0.3;
figure(4)
imshow(D);
(6)進行傅里葉逆變換,并顯示其功率分布,如圖4(a4~g4)中所示。
I=ifft2(ifftshift(HSF));%逆位移后,再傅里葉逆變換
ri=abs(I);
ri=(ri.^2)*20+0.3;
i=ri(1:size(O,1),1:size(O,2));
figure(6)
imshow(i,[]);
2.2 模擬結果
沒有濾波、狹縫濾波和低通濾波結果如圖4-a4~g4中所示。可看出,此模擬結果與圖4-a2~g2中所示實驗結果相符,證明以此方法作為計算機輔助實驗是可行的,可以加深學生對光信息處理原理的理解。同時還可以模擬出實際上難以實現的一些實驗結果,比如高通濾波、帶通濾波和雙圓孔濾波等,其模擬結果如圖6中所示。
圖6-a1、b1、a2和b2中給出了高通濾波實驗結果,可看出只濾出0級時,圖像整體變暗;濾出0級和1級時,可得邊緣增強的圖像。圖4-a3和b3中給出了帶通濾波實驗結果,可看出只讓1級通過時,二維光柵的振幅在x,y方向上都按正弦分布(只包含基頻分量)。圖4-a4和b4中給出了雙圓孔濾波實驗結果,可看出只讓上下兩個1級的光分量通過時,可獲得水平條紋(即上下兩光點的干涉條紋),且光強在y軸上呈正弦分布。
3 結語
以透鏡為主的Fourier光學變換系統具有很強的實用性,特別是在光信息處理中的應用十分廣泛。Matlab軟件因為強大的計算模擬功能具有廣泛的應用性。
本文實現了對二維光柵圖像進行不同方向上的狹縫濾波和圓孔光闌(低通)濾波處理的實際實驗操作和Matlab軟件模擬仿真。模擬結果與實驗結果相符,證明以此方法作為計算機輔助實驗是可行的,不但能夠加深學生對光信息處理原理的理解,同時還可以給出實際上難以實現的高通濾波、帶通濾波和雙孔濾波等實驗的模擬結果。
傅里葉光信息處理(阿貝一波特空間濾波實驗),可以讓學生能夠直觀的了解光信息處理(圖像處理)原理,對頻譜的概念可以有直觀的認識。
但是實驗中,由于受實驗條件的制約,往往不能取得預期的效果,同時有些特殊的信息處理方法實驗上很難實現。而通過計算機模擬輔助實驗的手段,不但可以獲得更加精確的實驗效果圖,而且還可以不受實驗儀器的限制,仿真一些實際很難觀測到的現象,同時濾波器參數的隨意替換可以讓學生更為靈活地觀察到比真實實驗更多地實驗現象,讓學生更好地理解傅里葉光信息處理原理和頻譜的概念,提高學習興趣。為學習信息光學、信號與系統及其后續相關課程起到有效的輔助作用,有助于使用者化抽象為具體,從而更好地洞察含義、理解概念、發現規律,使教學達到更加滿意的效果。
參考文獻
[1] 何艷敏.光電圖像與光信息處理實驗室建設[J].實驗技術與管理,2017,34(5):223-228.
[2] 孟祥成.淺談光纖色散在光信息處理中的應用[J].科技創新與應用,2017(7):59-60.
[3] 趙于平.光場成像中的景深擴展方法與信息處理[J].現代電子科技,2016,39(4):102-106.
[4] 崔海瑛.阿貝-波特實驗仿真[J].科技創新與應用,2017(2):63-65.
[5] 劉全金.基于MATLAB環境的阿貝-波特空間濾波實驗仿真[J].安慶師范學院學報:自然科學版,2009,15(4):108-109.
[6] A.A.Maznev and O.B.Wright. Upholding the diffraction limit in the focusing of light and sound[J]. Wave Motion,2017(68):182-189.
[7] 紀運景.基于GUI的阿貝-波特濾波實驗的計算機仿真[J].物理與工程,2010,21(2):27-28.
[8] 劉大鵬.MATLAB仿真技術在地震儀器電路設計中的應用[J].地震地磁觀測與研究,2017,38(1):125-128.
[9] V.Vuorinen. A gateway to turbulent flow simulation in Matlab[J]. Computer Physics Communications,2016(203):278-298.endprint