一:線掃雷射演算法原理
雷射器發出的雷射束經準直聚焦後垂直入射到物體表面上,表面的散射光由接收透鏡成像於探測器的陣列上。光敏面於接收透鏡的光軸垂直。如圖:
當被測物體表面移動x,反應到光敏面上像點位移為x』。a為接收透鏡到物體的距離(物距),b為接收後主面到成像面中心的距離(一般取焦距f),θ為雷射束光軸與接收透鏡之間的夾角。d為雷射光束軸到透鏡中心的距離。接收透鏡的焦距為f,其餘的引數如下圖:
在△abc中,由正弦定理的:
在直角三角形△cde (∠cde=90°)中,
上式為遠離透鏡的公式,靠近基準面的公式剛好相反:
二:引數計算和選取
通過上面的演算法推導,我們可以看出在整個公式中,我們需要得到的引數有兩個,a(接收透鏡到物體的距離(物距))和θ(雷射束光軸與接收透鏡之間的夾角)。
2.1引數的計算
(1)引數計算的原理
因為公式中有兩個未知的引數a和θ,那麼想要求得這兩個未知引數,我們可以通過得到兩組已知的(x,x』)來列出兩個二元一次方程組來求解。
假設兩組已知的引數為(x1,x1』)(x2,x2』),通過推導過程的公式如下(以靠近透鏡為例):
將求出的θ帶去上式可以得出a.
(2)引數計算結果
在計算引數的樣本選取中,為了盡可能的提高精度,我們在靠近基準面的樣本中選取的計算組合分別為(1mm,2mm),(1mm,3mm),(1mm,4mm),(1mm,5mm),(1mm,6mm),(1mm,7mm),(1mm,8mm),(1mm,9mm),(1mm,10mm),總共9組資料。那麼我們在一次取樣中可以得出9 組資料。
2.2引數的選取
在整個的實驗過程中,後期計算引數a和θ時,我們總共取樣了五次資料,每次資料得到的9組引數,通過45組資料來計算整個樣本的位移。觀察誤差值得大小,我們總共選取了三組引數,綜合比對發現當比值a/(f*sinθ)為31.5~31.7且a>200時,計算出的誤差偏小且在測量的範圍內保持一定趨勢。(這為我們後面的非線性擬合的誤差補償提供了基礎)
三:相機的標定
3.1單目相機標定的目的
獲取攝像機的內外引數矩陣,同時也會獲得每一幅標定影象的選擇和平移矩陣,內引數矩陣和畸變向量可以對之後相機拍攝的影象進行矯正,得到畸變相對很小的影象。
3.2相機標定的輸入和輸出
相機標定的輸入為22*22單位長度為1mm/格的棋盤格影象。總共12張。
相機標定的輸出為:內引數矩陣(fx,fy,cx, cy)和畸變向量(k1,k2,p1,p2,p3)
ps(注意,這裡有兩個不同的焦距fx,fy。因為單個畫素點在低價成像儀上是矩形而不是正方形。實際上焦距fx=f*sx. f為實際的物理焦距長度,sx為x方向的像元尺寸。同理fy=f*sy)
3.3用到的工具
硬體:巴士勒相機,攝像頭(f=25mm)、棋盤格標定板
軟體:vs+opencv
3.4標定的結果
四:樣本採集
樣本採集我們有兩種方式,第一種方式為用標準塊來採集。第二種方式是通過千分尺來採集。我們採用第二種方式進行採集樣本。採集的過程為以整個影象的中心為起點(作為基準面),每隔0.1mm取一次影象,取到影象的邊界。通過上述取樣本,我們得出位移的取值範圍為-30.0mm到+30.0mm。
五:計算結果
通過上述的引數計算,相機標定以及樣本採集之後,我們開始計算結果,在選曲的三組引數,來計算結果得到的誤差,在附件1中。
六:誤差補償
在得出誤差之後,我們發現誤差的變化是具有趨勢的。隨著位移的增大誤差是逐漸增大的。從計算結果偏小逐步到計算結果偏大。在這裡我們取得誤差補償演算法為基於最小二乘法的非線性擬合。擬合的方程如下:
y=a0+a1x+a2x^2+a3x^3
方程中x代表的是畫素位移,y代表的是誤差。通過擬合之後的誤差方程和整個演算法進行融合及擬合後的求取誤差為
位移=原演算法-誤差方程
最後通過誤差補償的結果得到的誤差,在附件2中。
七:實驗中遇到的問題
(1)演算法上的改進
第一:在位移演算法上遇到的問題剛開始在推算的過程中,忽略了乙個多項式導致後面在計算的過程中誤差偏大,後面採用了三角函式的演算法,整個精度的提公升很明顯。
第二:在引數計算的演算法推導過程中,出現了乙個錯誤靠近基準面和遠離基準面的演算法是不一樣的。這裡出現了乙個推導錯誤。後來重新推導之後改正了過來。
第三:在引數的選取上,剛開始的理解是在引數計算之後引數如果越接近實際的a和θ,計算出來的結果越真實。後來經過試驗發現這樣的選取準則是不正確的。而且不同組的樣本計算出的a和θ是不一樣的。最後通過分析得出,雖然計算出的a和θ是不一樣的,但是a/(f*sinθ)的比值幾乎是一致的。後面選取引數是選擇誤差小的。
第四:後面在觀察誤差的時候發現在0.1mm的位移時,同一組引數不同樣本的計算結果都是一樣偏大的。在實際的測量過程中我們觀測到0.1mm的位移,通常對應的是0.6左右個畫素。通過觀察程式發現了把畫素float型轉換成int型導致這個誤差結果。後面改過來之後,誤差明顯變小了。
(2)結構上的改變
在中期的試驗中,我們改進鏡頭和相機的結構,來改善景深,但是後來我們通過試驗發現原有的結構景深也是足夠用的,所以後面的試驗還是按照原來的結構來。
(3)線雷射的中心點提取原則
在整個計算過程中,每次計算位移的結果,我們要提取每行的線雷射的中心座標,剛開始計算的演算法為邊緣二分法,取中點座標。這種演算法偏差較大。在後面通過閱讀文獻,採用了灰度質心演算法。在後面的計算中,都是採用這個演算法。在0.01mm的位移下,發現這個演算法是有效的,檢測到畫素的位移在0.07個畫素左右。
八:總結
通過以上的一系列實驗,我們可以達到的誤差精度是0.01mm左右,現在取得的樣本在±10mm的範圍內。但是整個容許的測量範圍是±30mm。接下來可以實驗的內容:
第一:可以以0.01mm為頻率取樣(這樣在補償後結果更精確)。
第二:樣本計算擴大到整個測量範圍。
第三:採用千分尺取樣時,人為讀書的誤差是無法避免的,後期測量的時候需進行改進。
線掃相機 編碼器 面陣和線掃工業相機選型
一.面陣相機和鏡頭選型 已知 被檢測物體大小為a b,要求能夠分辨小於c,工作距為d 解答 1.計算短邊對應的畫素數 e b c,相機長邊和短邊的畫素數都要大於e 2.像元尺寸 物體短邊尺寸b 所選相機的短邊畫素數 3.放大倍率 所選相機晶元短邊尺寸 相機短邊的視野範圍 4.可分辨的物體精度 像元尺...
掃碼登入原理
網頁端 伺服器 使用者開啟 的登入頁面的時候,向瀏覽器的伺服器傳送獲取登入 的請求。伺服器收到請求後,隨機生成乙個uuid,將這個id作為key值存入redis伺服器,同時設定乙個過期時間,再過期後,使用者登入 需要進行重新整理重新獲取。同時,將這個key值和本公司的驗證字串合在一起,通過 生成介面...
線掃相機 編碼器 智慧型線掃瞄相機
昂敏智慧型的智慧型線掃瞄相機具有整合的fpga,高解析度,可以直接在相機上進行評估,完全不需要外接pc。此外,ai master軟體已經預安裝完成,使用者可獲得乙個完整的系統 相機 處理單元 評估軟體。快速且易於使用。昂敏智慧型還具有匹配的光源以搭建整個系統,這不僅適用於線掃瞄相機。昂敏智慧型為客戶...