1. 背景
畸變參數(shù) k3
通常用于描述徑向畸變的更高階效應(yīng),即在需要高精度的應(yīng)用中可以用到,一般的應(yīng)用中 k1, k2
足矣。
常見的應(yīng)用中, orbslam3 中是否傳入 k3
是可選的,而 kalibr 標(biāo)定中則只需要傳入 k1, k2
。但計算 k3
時的 k1, k2
不等于不計算 k3
時的 k1, k2
,因此需要學(xué)會兩種場景下參數(shù)的計算。
2. 完整的 opencv python 標(biāo)定相機內(nèi)參過程
參考:https://blog.csdn.net/zong596568821xp/article/details/115286088文章來源:http://www.zghlxwxcb.cn/news/detail-700424.html
3. 選擇是否計算畸變參數(shù) k3
在調(diào)用 cv.calibrateCamera()
時,傳入?yún)?shù) flags=cv.CALIB_FIX_K3
即可,代碼如下:文章來源地址http://www.zghlxwxcb.cn/news/detail-700424.html
# 1. 計算 k1, k2, k3
ret, mtx, dist, rvecs, tvecs = cv.calibrateCamera(
objectPoints=objpoints, imagePoints=imgpoints, imageSize=imageSize, cameraMatrix=None, distCoeffs=None
)
# Camera.k1: -0.0503
# Camera.k2: 0.0654
# Camera.k3: -0.0200
# 2. 計算 k1, k2
ret, mtx, dist, rvecs, tvecs = cv.calibrateCamera(
objectPoints=objpoints, imagePoints=imgpoints, imageSize=imageSize, cameraMatrix=None, distCoeffs=None, flags=cv.CALIB_FIX_K3
)
# Camera.k1: -0.0355
# Camera.k2: 0.0346
到了這里,關(guān)于【相機標(biāo)定】opencv python 標(biāo)定相機內(nèi)參時不計算 k3 畸變參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!