1. 程式人生 > >3D鐳射掃描三維重建——5.(matlab)系統框架

3D鐳射掃描三維重建——5.(matlab)系統框架

  • 提取光條畫素中心:影象轉換為灰度圖——使用最大類間方差法找到圖片的一個合適的閾值(graythresh())——利用這個閾值把一張灰度影象轉換為二值影象(im2bw())——在二值影象中獲取每一行中畫素值為1的點,並求每一行的光條中心位置(mean()平均值),對於整個平面,我們只需要儲存(320,640)之間的光條中心位置,因為相機與鐳射器存在夾角,決定了鐳射光條在相機成像平面的位置只可能是在(320,640)之間。
  • 提取光條次畫素中心:取代以上兩個過程:影象轉換為灰度圖——在灰度圖中的每一行中,每一個畫素位置的座標 * 該位置的灰度值 / 該行每一個畫素位置的灰度值總和。
  • 距離計算
    • x = 光條中心位置到成像平面中心的位置 + 實際焦距 / tan(鐳射與基線的夾角);
    • 物體距離基線的垂直距離q = 該位置對應的焦距 * 基線長度 / x
  • 距離座標轉換
    • 以旋轉中心為原點,y軸是物體點與基線的垂線方向,z軸是垂直方向,x軸是基線方向。計算物體的三維座標。
      • y = q * cos(成像平面與基準面的夾角)
      • z = q * sin(成像平面與基準面的夾角)
      • x = 鐳射器到 x 座標點的距離 - 鐳射器到旋轉中心的距離 = y / tan(鐳射器與基線的夾角) - 鐳射器到旋轉中心的距離
    • 當旋轉後,座標中心原點不變,但x、y軸發生了相對旋轉,因此要將所有的座標系下的3D座標轉換到同一個座標系下:以旋轉中心為原點,以旋轉到90度時的座標系為固定座標系。以下是座標變換過程及公式:
      • 這裡寫圖片描述