1 引言
在工業現場,結構光以其獨特的優點被廣泛運用于高精度測量中。點結構光多用于基于三角測量原理的測量系統中,多線結構光和網格結構光則多用于三維建模和人工智能。隨著檢測及傳感器、電子信息、計算機、通訊等技術的發展,鋼板測寬儀經歷了光機掃描式、主動式CCD光電、被動式CCD光電到激光輔助CCD光電幾種測寬儀的發展。從方法上,大致有機械接觸式測寬法、電視測量法、線陣CCD測寬、激光測寬等,但存在精度不高、勞動強度大、技術實現復雜,甚至有的還有一定的輻射。這里提出一種簡單易行的方案來實現基于面陣CCD和激光輔助的測寬系統。
2 測量系統實現
系統實現有相機標定、圖像采集、中值濾波、閾值變換、提取激光斷點、計算鋼板寬度等步驟,如圖1所示。

攝像機標定和圖像處理,具體如下:首先激光器照射到鋼板上,由千兆網相機拍照,經千兆網卡輸入計算機,圖像處理后獲得激光斷點的兩個圖像坐標。由標定得到的數學模型獲得激光斷點的空間坐標。根據勾股定理求得該兩點之間線段的長度,現場有凹槽同定鋼板,可不考慮鋼板傾斜,該線段的長度即為鋼板的寬度。圖2為測寬系統原理圖。

2.1 攝像機標定
攝像機標定是指由世界坐標系中標定點以及對應圖像像素坐標導出攝像機矩陣,并估計攝像機的內部參數。由于無論鋼板厚度如何變化,鋼板始終和激光面有條交線,即鋼板寬度方向。與z軸方向無關,因此使用平面標定,如圖3所示。將標定板(圖4)放在激光面上,以垂直于標定板的方向為z軸,以平行和垂直于鋼板寬度的方向在標定板上建立平面直角坐標系。選取圓的中心為標定點,兩個相鄰圓心之間的距離是16 mm,根據選取的坐標系,這些標定點在激光面上的位置是已知的,通過獲取其對應的圖像坐標確定攝像機的12個內外參數,從而完成標定工作。

由一組已知的世界坐標系的點以及對應在圖像坐標系的點可以確定兩個方程,因此,要確定攝像機的內外參數,需至少知道6組這樣的點,而所采用的靶標可以提供充足的特征點,利用最小二乘法確定各個攝像機的內外參數。從透影的角度看,圖像坐標與世界坐標一定存在某種關系。由應用光學理論可知,在完全理想的情況下,圖像坐標(x,y)和世界坐標(X,Y,Z)(假設Z=0)應是比例關系。然而由于存在畸變,以及CCD攝像機安裝的誤差(與光軸不垂直),使這一比例關系發生改變,而導致它們存在非線性關系。這一對應關系根據精度要求的不同可采用不同的模型描述,根據問題的實際情況,用二元二次多項式簡化模型就可精確描述,建立的數學模型如下:

式中,ax,ay,by,cx,cy,dx,dy,ex,ey,fx,fy是12個待確定的參數。
需要6組已知的點。為了精確,這里采用更多的點,用最小二乘法確定這12個參數。

實驗中選取25個點,應用灰度重心法提取標定點圖像坐標,如圖4所示,對應的世界坐標在定義的坐標系下是已知的,則得到表1。

用Matlab編程,求得:

求得相機轉換矩陣.便可由罔像上任意點的坐標得到實際坐標。
2.2 圖像處理
得到相機轉換矩陣后,最重要的是得到兩個激光斷點處的圖像坐標。實驗中發現,采集的鋼板圖片中罔像較為黑暗區出現亮點,這些亮點屬于噪聲,需要進行中值濾波,以防止后面的點運算出錯而得到錯誤的目標區域。
濾除噪聲后,還需識別出激光線。激光線與背景區別較大,激光線的灰度值是255,而其他部分的灰度值遠小于255。為有效識別出激光線,使激光線上的像素與其他部分像素的灰度值有非常明顯的區別,選擇閾值變換的處理方法,使激光線上的像素灰度值為255,其他部分的像素灰度值為0。便可提取鋼板激光斷點處的圖像坐標,其算法如圖5所示。

首先掃描圖像像素,從左到右逐列掃描,提取所有激光線上的第1個白點,將其存到數組中,然后前后對比數組中的數據,如果發現行之間跳動很大,則認為是斷點。圖6是得到的激光斷點效果圖。
3 鋼板寬度測量
由于系統在激光面上進行標定,因此可不必考慮鋼板厚度變化對結果造成的影響。又由于鋼板現場有凹槽的固定,不必考慮鋼板傾斜的影響。為驗證實驗結果,采用10種不同的鋼板,分別測量,得到表2所示的數據。

將其更直觀地在圖7中顯示,由圖可看到,與真實值相比,雖然有一定誤差,但測量效果是理想的。存在誤差的原因有光學鏡頭畸變引起的測量誤差、量具誤差、環境誤差、方法誤差等。

4 結束語
結合線性結構光和CCD攝影測量原理提出一種新的簡單易行的鋼板寬度測量系統。用激光器發射線性結構光投射到鋼板寬度方向,由于鋼板具有一定的厚度,因此在鋼板兩側形成兩個斷點,利用CCD攝像機獲取整塊鋼板的圖像,并經高速圖像采集卡將圖像A/D轉換后輸入計算機,然后經圖像處理獲取鋼板兩側激光斷點的圖像坐標,通過攝像機標定技術,轉化為鋼板的實際坐標,進而得到鋼板的寬度。系統測量準確,簡單易行,成本較低,穩定性好,在工業現場中具有一定的實用價值。
