【問題描述】
對於水面而言,由於特征點較少,軟件在計算時很難匹配正確,導致輸出模型的水面通常是支離破碎的。軟件針對這種情況提供了一個約束工具,用戶手動的為水面添加平面約束后,輸出的水面模型就會非常平整。
【添加方法】
請留意這個功能只能在ContextCapture center版本中才能使用。
首先,完成空三后,先進行一次常規建模,然后在Acute 3D viewer中打開,用測量工具測量一下水面的高度。
再次提交一次建模,然后如下圖所示:選擇Reconstruction constraints選項,這里提供兩種加限制的方式。
第一種是谷歌地圖的KML格式,對ContextCapture中已導入照片的block點擊右鍵,輸出為kml格式,則谷歌地圖會根據照片中的GPS數據自動匹配到照相的位置,然后如下截圖所示,通過在谷歌地圖中繪制polygon選定水面區域,注意這里的高度一定要設置對,可以參考第一次建模后測量出的高度。(如果高度不匹配則kml文件無法導入進ContextCapture。)然后保存這個polygon后,會在谷歌地圖左側列表中出現,點擊鼠標右鍵將其保存為KML文件。然后導入到ContextCapture中。再次進行建模即可。
另一種方式是導入obj格式文件,如果模型是有地理坐標系的,那么obj文件也要定義相同的坐標系和中心點,高度也要正確。
如果對OBJ文件的設置不太熟悉,建議使用谷歌地圖的KML文件方式。
最后進行建模時,軟件會針對手動添加的約束對指定區域進行平面化處理。
案例效果:
修復前:
修復后:
ps:
1、錯誤:無法添加表面約束,應為它與重建沒有相交
解決辦法:一般是我們添加表面約束時Altitude 設置錯誤,導致沒有與我們的模型產生交界處,我們只要在Acute3D Viewer中重新測量出正確的高程並設置,導出kml即可。
2、 設置高度時,一定要設置測量范圍內最高的高度,否則可能可能出現部分水面破洞無法被約束等問題,即水面破洞修復不完全。
3、 ContextCapture的表面約束不僅僅適用於水面修復,還適合於草坪、公路、建築等等的約束壓平。