最新訊息
 
自動相機鏡頭失真校正
 

Removing Camera Lens Distortion: Chessboard

-- Removing Camera Lens Distortion: Chessboard --

§ 目的

做影像校正,解決影像變形的問題

§ 過程

一組校正前的影像

§ 結果

顯示校正後影像的應用程序

§ 提示

  • 相機校正是根據包含一個校正棋盤圖像。 "DetectChessboardGrid" filter 當發現棋盤點的相機可以進行校正時,檢測校正板
  • 利用 "CalibrateCamera" filter 建立所述校正映射使用
  • 輸入影像名稱可以儲存在一個單一全域參數在 FileArray type
  • 從輸入影像中選擇其中的一部份,並對其進行校正。 選擇這樣的影像,棋盤上網格將覆蓋大部份的可見區域
  • 在 avdata file 中使用它進行影像重映射,儲存在 SpatialMap
  • § 解決方案

    1. 應該建立兩個 macrofilters

      一個準備必須的影像校正 SpatialMap
      一個實際的處理 (重映射)
    2. 每個步驟,應該嘗試執行程式,檢查結果
    3. 建立新的 "PrepareSpatialMap" macrofilter 並打開它進行編輯
    4. 選擇幾張影像做校正,它們要可以代表整個視線範圍。太少張影像會降低校正精準度,太多張影像會拖慢校正過程,因為沒有可衡量的收益。 棋盤上應該會出現在影像場景的各個方面上。例如對於選擇圖片包含名稱:00, 04, 10, 20, 23, 25, 29, 這些影像包含大面積的影像,它被允許建立標定。

    5. 建立一個 FileArray 和選擇影像的儲存路徑
    6. 利用 "LoadImage" filter 呼叫校正樣品影像的數組,或可以直接將影像拖拉至程式編輯面版中,並結合影像到 "CreateShortArray" 中
    7. "DetectChessboardGrid" filter 檢測所選擇影像的 "world points" or "object points",觀察影像和其它影像的點
    8. 利用 "CalibrateCamera" filter 需要連結 "inObjectPoints" 做Array的輸出,和 "DetectChessboardGrid" filter 的outWorldGridPoints 做Array的輸入. 設定 inImageWidth and inImageHeight 的參數,影像尺寸,(讀出影像的預覽)。在本練習中,影像的尺寸是640×480
    9. 產生 SpatialMap 使用 "RemapImage" filter. 影像進一步的失真,使用 "CreateUndistortionMap" filter 計算變形和相機矩陣校正過程,另外 "inSourceExample" 做正確的大小和深度的影像範例
    10. 隨著運行開啟,查看 "diagRemappedImage" 影像校正的結果,使循環訪問選項開啟程序,使重新執行
    11. 指定 inMapWidth 和 inMapHeight 不同的值,並檢查結果
    12. 當發現映射的最佳尺寸(以及產生的影像),加入文件管理程序 SaveObject" filter SpatialMap type, 取一個文件名稱,例如 "distortion.SpatialMap.avdata".
    13. 在 Main macrofilter中,加入EnumerateFiles (將其配置為重複處理所有影像),"LoadImage" 呼叫影像,然後 "RemapImage" filter. 將該 inSpatialMap 鏈接到先前保存的文件或文件可以被加載,(如圖示,滑鼠右鍵,彈出選單,選擇選項)

    文件被連接,檔案路徑需指向驅動檔案,否則將使其它用戶無效,為了能夠運行其它用,請輸入相對路徑

    14. 運行產生的程序,顯示彼此相鄰的原件和重新映射的影像

    § Main macrofilter remaps input images

    § PrepareSpatialMap Macrofilter creates spatial map from selected images

     
    特別聲明:本網站為汎叡有限公司版權所有,請尊重智慧財產權,未經允許請勿任意轉載、複製或做商業用途
    所使用的所有商標名稱, 分屬各商標註冊公司所有。
    Copyright c 2009 Fadracer Technology Inc. All Rights Reserved.
    汎叡有限公司 TEL:+886-2-2585-8592 FAX:+886-2-2598-8802 E-MAIL:[email protected]