7

我正在使用廣角鏡頭(178º對角線FOV),並試圖使用Opencv校準模塊進行正確校準。所有的檢測和校準過程都正常,但結果很差。使用Opencv進行廣角鏡頭校準

我已經嘗試了許多不同的配置:

  • 不同組圖像
  • 不同徑向係數編號:2,3,4,5甚至6.(CV_CALIB_FIX_K1,...,CV_CALIB_FIX_K6)
  • 將主點和切向失真固定爲0(CV_CALIB_FIX_ASPECT_RATIO,CV_CALIB_FIX_PRINCIPAL_POINT)
  • 將預期焦距用作初始相機矩陣。 (CV_CALIB_USE_INTRINSIC_GUESS)

我能得到的最好的是一樣的東西:Bad calibration

任何想法,我怎麼能得到一個好的校準? 您是否認爲同時使用兩種校準模式,或使用圓形網格作爲校準模式會有所幫助?

我見過在opencv 3.0中添加了薄棱鏡coeffs。我沒有嘗試過,但我認爲不會有所作爲,對吧?編輯:檢查它...沒有什麼

+0

您是否將圖像與校準目標放置在視野的邊界(左上角,右上角等)中? –

+0

是的,我做到了。我實際上有很多帶有棋盤四周的圖像...您可以在這裏查看我使用的數據集之一:[https://dl.dropboxusercontent.com/u/31166777/images.rar] –

回答

1

自從Opencv 2.4.10及以上版本以來,廣角/魚眼鏡頭有一個特殊的畸變模型能夠處理這種強烈的徑向畸變。我用我的數據集進行了測試,結果非常好。

3

也許相機/鏡頭模型的OpenCV沒有足夠準確地描述你的超廣角鏡頭。所以也許你必須放棄內置的OpenCV校準程序並編寫自己的校準程序。

例如谷歌搜索給我:

Kanatani, K., "Calibration of Ultrawide Fisheye Lens Cameras by Eigenvalue Minimization," Pattern Analysis and Machine Intelligence, IEEE Transactions on , vol.35, no.4, pp.813,822, April 2013

摘要:本文提出了一種新技術,用於通過強加的約束校準超寬魚眼 鏡頭相機是共線點是 整流共線,平行線是平行的,並且正交線是正交的。利用擬合線 降低到3D中的特徵值問題,我們通過嚴格的攝動分析來獲得實際的校準程序。 做實驗時,我們指出,假設僅存在 共線性和並行性,則存在虛假解。我們的技術有許多理想的屬性。例如,關於參考圖案或相機位置不需要度量信息 ,並且單獨的條紋圖案可以顯示在視頻屏幕上以生成虛擬網格,從而消除了網格點提取處理。

2

您是否確定要使用CV_CALIB_RATIONAL_MODEL標誌?這將告訴OpenCV使用支持廣角鏡頭的模型。

這裏是my suggestions 150度鏡頭。你也可以考慮嘗試April Cal,我已經有了不錯的運氣。

1

我對魚眼鏡頭沒有任何經驗,但如果您打算將圖像映射到透視投影,您將遇到麻煩。圖像的大視角部分將映射到圖像平面上非常遠的距離。這可能會導致像您提供的圖像。肯定有一些錯誤,但似乎大多數直線「世界線」映射到直線「圖像線」。

您對結果的期望是什麼,以及您計劃如何使用此校準?

1

魚眼鏡頭具有不同的失真建模。要校準魚眼攝像機,請使用opencv魚眼模塊。見opnecv docs