測量顯微鏡是用于測量精密零件的長度和角度的儀器,廣泛用于計量室,生產線及科學研究等部門。過去,測量顯微鏡一般由物鏡和測微目鏡組成,屬于目視儀器的范疇,測量結果容易受到人為因素的影響。在數字成像技術普及以后,測微目鏡被CCD相機取代,結合圖像分析和數據處理,不但實現了測量自動化,而且提高了測量速度和精度。
測量原理
假設被測零件的長度為y,經物鏡成像后的長度為y',物鏡的放大倍數為β,那么存在以下關系:
根據幾何光學,物鏡放大倍數也可以表示為
其中f為物鏡物方焦距,f’為像方焦距,且有f’=-f。x為焦物距,即物鏡物方焦點到被測物體的距離。x’為焦像距,即物鏡像方焦點到像的距離。將(2)代入(1)得到
由(3)可知,當物鏡焦距確定后,被測長度值y取決于像的大小y’以及被測物體和CCD表面相對于物鏡的位置。如果后者由于某些原因出現偏差,比如CCD安裝位置誤差或調焦誤差(詳見下節),就會導致實際放大率偏離理論放大率,從而導致測量誤差,因為被測物體的大小是根據公式(1)中的理論放大倍數計算出來的。所謂理論放大倍數是測量顯微物鏡的主要性能參數之一,通常刻在物鏡筒身上,比如1X,0.5X等字樣。
物方遠心光路
為了保證被測物體清晰地成像在CCD表面,需要改變被測物體到測量顯微鏡之間的距離,直到得到清晰的像為止,這個過程稱為調焦。
調焦可以有手動調焦和自動調焦,但不管采用哪種方式都存在調焦誤差。見圖1,紅色實線表示正確的物像位置,藍色實線表示存在調焦誤差時的情形。對于普通顯微物鏡來說,藍色光束的主光線(通過孔徑光闌中心的光線,代表光束中心)的方向相對于紅色光束的主光線發生了改變,和CCD表面的交點由A’跑到了B’,也就是說測得的像的大小發生了改變,實際放大率不等于理論放大率,從而造成了測量誤差。
圖1. 普通物鏡
采用物方遠心光路能夠消除調焦誤差引起的測量誤差。見圖2,孔徑光闌放置在物鏡像方焦平面上,入瞳在物方無窮遠,物方主光線始終與光軸平行。無論被測物體位置如何改變,出射光束的主光線方向始終不變。即使存在調焦誤差,CCD上的像僅改變清晰度,而不改變大小。因此物方遠心光路不產生放大率誤差引起的測量誤差。當然,由于光闌外移,軸外像差變大,物鏡的結構趨于復雜,價格遠高于普通物鏡。
圖2. 物方遠心光路
測量顯微鏡的校準
雖然物方遠心光路能夠消除調焦誤差帶來的測量誤差,但是CCD位置誤差仍然會引起測量誤差,因此測量顯微鏡使用之前必須經過校準。通常用直尺作為標,如圖3所示,首先測量出直尺像的某段長度(比如從-5mm—5mm)所占據的CCD像素的個數,乘以像素的大小,再除以物鏡的理論放大率,便得到了直尺的某段長度的測量值。
該測量值應該等于10mm,但是由于CCD位置誤差,測量值往往不等于10mm,比如可能是10.1mm。多余的0.1mm就是系統誤差,以后每次測量結果都要減去 0.1mm。或者調整CCD的位置后再次進行校準,直到測量值等于或接近10mm。
圖3. 校準分劃板,1“ X1”,格值100μm。
由于直尺的刻線有一定寬度,其像的寬度往往大于一個CCD像素,在確定兩條刻線之間的CCD像素的個數時往往受到人為因素的影響,從而造成偶然誤差。為此我們采用圖4所示的標準圖案來代替直尺進行校準,其優點是借助MATLAB圖像處理工具包自動識別圖形并計算出圖案的大小,避免了人為因素的影響。已知標準圖案為4x4mm的黑白正方形,測量使用的是Edmund 0.9X CobaltTL 遠心鏡頭(產品號 62901),記錄使用的是AVT CCD的相機,像素大小為5.5x5.5μm,測試過程的細節參考視頻1:
視頻1測試細節
使用視頻1的系統的相機拍攝的圖像如圖5所示。然后對圖5進行計算機圖像處理,用MATLAB編寫的程序代碼見附錄。程序第一段是讀入圖像并顯示。第二段是將灰度圖像轉換成如圖6所示的二值(黑白)圖像。第三段第一行的函數regionprops() 對每個白色區域的面積,重心和邊界框進行統計,統計結果見圖7。其中面積以像素的個數來表示,重心以x,y坐標表示,邊界框用4個數值表示,第一,二個數值是矩形左上角的x,y坐標,第三,四個數值分別是矩形的寬度和高度,以像素的個數表示。
然后給每個白色區域打上標簽,如圖8所示,可見一共有10個白色區域。容易看出只有4,5,7三個矩形是完整的,因此第四段第一句是篩選出這三個矩形,其余矩形不予考慮。第二句是提取這三個矩形的邊界框的數據,并將它們寫入二維數組BoundingBoxes。從圖7可以看出,第4,5,7三個矩形的寬度和高度均等于660個像素。最后一句是計算3個正方形邊長的平均值,為660個像素,乘以CCD像素大小0.0055mm,再除以理論放大率0.9,得到正方形邊長的測量值為4.033mm,比標準值大了0.033mm。在以后的測量中,需要將測量值減去0.033mm。
圖4. 標準圖案
圖5. 標準圖案的原始圖像
圖6. 二值圖像
圖7. 10個白色區域的面積,重心,邊界框數據列表
圖8. 打了標簽的原圖
結語
本文介紹了測量顯微鏡的工作原理及測量誤差的主要來源─放大率誤差,而放大率誤差主要來自于調焦誤差和CCD表面相對于物鏡的位置誤差。采用物方遠心光路,即將孔徑光闌置于物鏡像方焦平面上能夠有效地消除調焦誤差導致的測量誤差。用直尺或標準圖案進行放大率校準則能夠測出實際放大率和理論放大率之間的偏差,用以補償CCD位置誤差造成的測量誤差。本文介紹了如何用標準圖案和MATLAB強大的圖像處理工具包測量實際放大率,并分享了程序代碼。
附錄:MATLAB圖像處理程序代碼
beta = 0.9; % magnification
px = 0.0055; % CCD pixel size (mm)
I=imread('checkerboard.bmp','bmp');
figure(1)
imshow(I)
bw = imbinarize(I,0.3);
figure(2)
imshow(bw)
title('Binary image')
stats = regionprops('table',bw,'Area','Centroid','BoundingBox')
n = size(stats,1);
centroids = cat(1,stats.Centroid);
position = round(centroids);
RGB = insertText(I,position,1:n,'FontSize',50,'AnchorPoint','Center');
figure(3)
imshow(RGB)
title('Labelled image')
% filter out smaller boxes
idx = find([stats.Area] > 400000);
% extract the data for the square boxes
boundingBoxes = cat(1,stats(idx,:).BoundingBox);
% calculate the size of the square boxes
mean(mean(boundingBoxes(:,3:4)))*px/beta
審核編輯:劉清
-
CCD
+關注
關注
32文章
882瀏覽量
142334 -
圖像處理器
+關注
關注
1文章
104瀏覽量
15522 -
顯微鏡
+關注
關注
0文章
567瀏覽量
23072 -
MATLAB仿真
+關注
關注
4文章
176瀏覽量
19943 -
CCD相機
+關注
關注
0文章
22瀏覽量
10047
原文標題:數字成像測量顯微鏡的放大率誤差及校準
文章出處:【微信號:bdtdsj,微信公眾號:中科院半導體所】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論