HALCON立體顯示

2021-08-20 06:34:35 字數 2794 閱讀 1925

對要求大測量範圍和較高測量精度的場合,採用基於雙攝像機的雙目立體視覺系統比較合適;對測量範圍要求比較小,對視覺系統體積和質量要求嚴格,需要高速度實時測量物件,基於光學成像的單攝像機雙目立體視覺系統便成為最佳選擇。

基於雙攝像機的雙目立體視覺系統必須安裝在乙個穩定的平台上,在進行雙目視覺系統標定以及應用該系統進行測量時,要確保攝像機的內參(比如焦距

)和兩個攝像機相對位置關係不能夠發生變化,如果任何一項發生變化,則需要重新對雙目立體視覺系統進行標定。

⊿z=z*

⊿d/f*b

⊿z表示測量得出的被測點與立體視覺系統之間距離的精度,

z指被測點與立體視覺系統的絕對距離,

f指攝像機的焦距,

b表示雙目立體視覺系統的基線距,⊿

d表示被測點視差精度。

如果b和

z之間的比值過大,立體影象對之間的交迭區域將非常小,這樣就不能夠得到足夠的物體表面資訊。

b/z可以取的最大值取決於物體的表面特徵。一般情況下,如果物體高度變化不明顯,

b/z可以取的大一些;如果物體表面高度變化明顯,則

b/z的值要小一些。無論在任何情況下,要確保立體影象對之間的交迭區域足夠大並且兩個攝像機應該大約對齊,也就是說每個攝像機繞光軸旋轉的角度不能太大。

2.2

雙目立體視覺系統標定

為了進行視覺系統的標定,需要得到空間點的三維座標以及該點在左右兩幅影象中座標的對應關係,另外還需要給定兩個攝像機的初始引數。拍攝標定板影象時,要保證標定板在左右兩個攝像機中都能夠完整成像。

如果使用halcon標準標定板,首先可以通過函式

find_caltab()

在標定板影象中分離出標定板區域,然後利用

find_marks_and_pose()

運算元,該運算元通過亞象素閾值、亞象素邊緣提取、圓心確定等一系列操作計算標定板上每個點的影象座標以及標定板與攝像機之間大約的位置關係,即攝像機的外參初始值。其中使用

find_caltab()

分離標定板區域運算時間大約為

5ms,

find_marks_and_pose()

計算標定板上

49個標誌點的座標大約需要時間為

40ms

,計算座標精度為亞象素級,如某標誌點在左攝像機影象座標系中座標為

(198.612619165, 344.142354438)

,右攝像機影象座標系中相應點座標為

(212.140195587, 226.377754012)

。 如果使用自定義的標定板,可以使用

halcon

中的影象濾波、亞象素邊緣及線提取、亞象素輪廓處理等基本函式開發演算法求取標誌點的座標並估算攝像機的外參初始值。

獲得標誌點相應的座標以及攝像機的起始引數後,通過呼叫函式binocular_calibration()來確定兩個攝像機的內引數、外引數以及兩個攝像機之間的相對位置關係。通過

539個標誌點座標的對應關係計算出攝像機各個引數需要的時間為

1.6094s

,計算誤差約為

0.02

個象素。

2.3

校正立體影象對

為了能夠更精確地進行匹配,提高運算的效率,在獲得攝像機的內外引數後首先對立體影象對進行校正。校正的過程其實就是將影象投影到乙個公共的影象平面上,這個公共的影象平面方向由雙目立體視覺系統基線與原始兩個影象平面交線的叉集確定。

校正後的影象可以看作是乙個虛擬的立體視覺系統(圖5)採集的影象對。這個視覺系統中攝像機的光心與實際攝像機一致,只是通過繞光心的旋轉使光軸平行,並且視覺系統中兩個攝像機的焦距相同。這個虛擬的立體視覺系統就是雙目立體視覺原理中提到的最簡單的平視雙目視覺模型。

halcon中將標定過程中獲得的攝像機的內參以及兩個攝像機相對位置關係作為引數傳遞給函式

gen_binocular_rectification_map()

,再將獲得的兩個影象的對映圖傳遞給函式

map_ image()

,即可得到校正後的兩幅影象,並可獲得校正後虛擬立體視覺系統中兩個攝像機的內參和外參。其中函式

gen_binocular_rectification_map()

耗時約為

0.3488s

,map_image()

耗時約為

0.0050s。2.

4 獲得影象中三維資訊

為了得到影象中某點的三維資訊,需要在另一幅影象中找到該點的對應點座標。因此想獲得物體的深度資訊,首先需要對校正後的立體影象對進行匹配。由於經過校正後,兩幅影象中的對應點在影象的同一行中,因此在匹配時只需要在相應的行中尋找匹配點。為了得到更佳的匹配結果,如果被測物體表面沒有明顯的特徵資訊,則需要測量時在物體表面增加特徵點。另外要避免被測物體上重複圖案在同一行中。

將校正後的影象以及虛擬立體視覺系統中的攝像機內外引數傳遞給binocular_disparity(), 這時可以設定匹配窗大小、相似度計算方式等引數,在匹配中使用影象金字塔提高匹配速度,並且可以自我檢測匹配結果的正確性。函式返回乙個視差圖

(物體表面三維資訊的表示

)和乙個匹配分值圖

(表示匹配結果的準確程度

),函式的執行時間約為

0.6051s

。 函式binocular_distance()與

binocular_disparity()

類似,只不過返回乙個深度圖

(物體表面在第乙個攝像機座標系中的深度資訊

)和乙個匹配分值圖。圖6~圖

9顯示了

halcon

中利用雙目立體視覺測量電路板三維資訊的過程。

halcon中另外還有很多關於立體視覺的函式,可以獲得影象中某點的三維座標,另外可以校正傾斜對高度測量的影響等。

自由立體顯示

auto stereoscopic 裸眼3d 立體影象的生成技術分為全息技術 holograph 3d整合成像 integral photography 體3維 volumetric 和基於水平視差的自由立體 parallax auto stereoscopic integral photograp...

Halcon 顯示設定

dev set draw drawmode 如果draw被設定為 fill regions被填充顯示,如果被設定為 margin regions僅顯示輪廓。dev close window 關閉所有活動視窗。dev open window row,column,width,height,backgr...

halcon的雙目立體匹配及應用概述

對要求大測量範圍和較高測量精度的場合,採用基於雙攝像機的雙目立體視覺系統比較合適 對測量範圍要求比較小,對視覺系統體積和質量要求嚴格,需要高速度實時測量物件,基於光學成像的單攝像機雙目立體視覺系統便成為最佳選擇。基於雙攝像機的雙目立體視覺系統必須安裝在乙個穩定的平台上,在進行雙目視覺系統標定以及應用...