立體視覺
立體視覺的基本原理是對象點的3D坐標是由兩個或者多個從不同角度同時獲取的圖像決定的,HALCON提供了兩種立體視覺方法:雙目立體視覺和多視角立體視覺。
雙目立體視覺用兩個相機,返回差異圖,距離圖,或者3D坐標。下圖展示了一個板子的立體圖像對和板子部件的結果高度圖。
雙目立體視覺的基本原理,頂部:立體圖像對;底部:高度圖
多視角立體視覺也可以用超過兩個相機,其要麼被用來重構作為3D物體模型被返回的表面,或者去重構單獨的點。例如,下圖展示了多視角立體相機系統的圖像被用來重構導管接頭的表面和結果的3D物體模型。
左:多視角立體相機系統圖像;右:導管接頭被重構表面
立體視覺的優勢是任意形狀物體表面的3D信息可以用圖像來決定。立體視覺可以和其他視覺方法相結合,例如將blob分析作為處理步驟,其能夠從深度圖像中提取特定物體或者物體組件,或者用於基於表面的3D匹配,其能夠在重構的3D模型表面中定位物體。
基本概念
立體相機系統3D信息的獲取主要由4個主要步驟組成:
獲取標定圖像
一些立體標定圖像被獲取,每張圖像中展示了不同位置和方向的HALCON標定板。
標定立體相機系統
用先前獲取到的標定圖像,立體相機系統被標定。為此,標定標識點的圖像坐標必須從標定圖像中提取到,然後,立體設置的參數將被決定。
對於雙目立體視覺,參數則可以用來針對立體圖像矯正創建一個矯正映射。
對於多視角立體視覺,一個所謂的立體視覺模型被創建,其包含了相機參數和更多的信息。
獲取立體圖像
立體圖像在標定立體相機系統同時也被獲取,它們展示了應該被重構3D信息的物體。
矯正圖像
對於雙目立體視覺,立體圖像必須被矯正,這樣對應的點(共軛的點)在兩個矯正的圖像就位於相同的行。為此,上面已經得到的矯正映射就必須被用到。
重構3D信息
現在,3D信息可以被重構了。
藉助雙目立體視覺,對於第一張被矯正圖像的每一個點,在第二張矯正圖像中的共軛點被匹配被決定(立體匹配)。對於這些點,要麼相對立體相機系統的差異,或者距離被計算,並返回一個灰度值圖像,這些距離相對的參考平面可北改變。如果知道差異值,也是有可能獲取被選取點的距離或者3D坐標的。還有,3D坐標可以從每一對共軛點的圖像坐標中直接決定。
藉助多視角立體視覺,你可以重構完整的表面或者被選點的3D坐標。在重構表面的時候,你首先應該用set_stereo_model_param去設置重構的參數,然後用set_stereo_model_image_pairs去定義哪個相機建立一對;最後,你用reconstruct_surface_stereo去重構表面。當重構物體的被選點時候,你首先從立體圖像中提取到對應的點,然後你積累所有相機拍攝物體相對應的信息,最後,你用reconstruct_points_stereo去重構點。