【相机标定】opencv python 标定相机内参时不计算 k3 畸变参数

文章目录

    • [1. 背景](#1. 背景)
    • [2. 完整的 opencv python 标定相机内参过程](#2. 完整的 opencv python 标定相机内参过程)
    • [3. 选择是否计算畸变参数 k3](#3. 选择是否计算畸变参数 k3)

1. 背景

畸变参数 k3 通常用于描述径向畸变的更高阶效应,即在需要高精度的应用中可以用到,一般的应用中 k1, k2 足矣。

常见的应用中, orbslam3 中是否传入 k3 是可选的,而 kalibr 标定中则只需要传入 k1, k2 。但计算 k3 时的 k1, k2 不等于不计算 k3 时的 k1, k2 ,因此需要学会计算两种场景下参数的计算。

2. 完整的 opencv python 标定相机内参过程

参考:https://blog.csdn.net/zong596568821xp/article/details/115286088

3. 选择是否计算畸变参数 k3

在调用 cv.calibrateCamera() 时,传入参数 flags=cv.CALIB_FIX_K3 即可,代码如下:

python 复制代码
# 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
python 复制代码
# 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
相关推荐
名不经传的养虾人3 分钟前
从0到1:企业级AI项目迭代日记 Vol.26|用AI是借力,教AI才是复制自己
人工智能·ai编程·skill·教ai复制自己
GEO从入门到精通7 分钟前
GEO资料免费和付费的差距大吗?
人工智能
沪漂阿龙在努力13 分钟前
面试题详解:GPT 系列、Llama 系列、Qwen 系列全解析——GPT-1 到 GPT-3、Llama1 到 Llama3、Qwen3 架构与训练流程一次讲透
人工智能
用户43305141438116 分钟前
用 Architect 构建 Meta-Agent
人工智能
苏三的开发日记18 分钟前
RAG高级技术与调优
人工智能
俊哥V18 分钟前
每日 AI 研究简报 · 2026-05-15
人工智能·ai
数智工坊23 分钟前
【BLIP-2论文阅读】:冻结预训练模型的多模态预训练革命
论文阅读·人工智能·深度学习·计算机视觉·transformer
专注VB编程开发20年25 分钟前
TRAE 稳定不排队、避开 “人满 / 没钱限流” 完整方案(实测有效)
ide·人工智能
zzzzzz31025 分钟前
GenericAgent 深度解析:3K行代码如何实现自我进化智能体
人工智能
夫唯不争,故无尤也26 分钟前
深度学习优化器:AdamW与SGD的区别
人工智能·深度学习