的lens model in OpenCV是一種的失真模型歪曲到對應的真實(失真的)位置的理想位置是:鏡頭失真模型VS修正模型
- x_corrected = x_distorted(1 + K_1 * R^2 + K_2 * R^4 + ...),
- y_corrected = y_distorted(1 + K_1 * R^2 + K_2 * R^4 + ...),
其中r^2 = x_distorted^2 + y_distorted^2在標準化圖像座標(爲簡單起見,省略了切向失真)。這也可以在Z. Zhang中找到:「一種靈活的攝像機標定新技術」,TPAMI 2000以及Bouguet的「Camera Calibration Toolbox for Matlab」。
在另一方面,Bradski和Kaehler:「學習的OpenCV」在p.376介紹了透鏡模型作爲校正扭曲的位置與理想位置的修正模型:
- x_distorted = x_corrected (1 + k'_1 * r'^ 2 + k'_2 * r'^ 4 + ...),
- y_distorted = y_corrected(1 + k'_1 * r'^ 2 + k'_2 * r'^4 + ...),
其中r'^ 2 = x_corrected^2 + y_corrected^2歸一化圖像c oordinate。 Hartley和Zisserman:「計算機視覺中的多視圖幾何」也描述了這種模型。
我知道修正和失真模型在實踐中都有優點和缺點。例如,前者使得檢測到的特徵點位置的校正變得容易,而後者使整個圖像的失真直接簡單。
我的問題是,爲什麼他們共享相同的多項式表達式,而他們應該是彼此相反?我可以找到this document評估不可逆性,但其理論背景並不清楚。
謝謝你的幫助。
您可能想要提供兩種方法的更多詳細信息,因此我們不必搜索5篇論文和書籍以瞭解您正在談論的內容。一般而言,兩種方法都有相同的目標。他們糾正相同的光學像差。因此我期望他們能夠分享相同或非常相似的多項式 – Piglet
謝謝您的評論。我已經添加了方程。 – demachi