【相机标定】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
相关推荐
H17853509096几秒前
SolidWorks_基于草图的实体特征14_扫描扭转与控制
前端·人工智能·算法·3d建模·solidworks
专注VB编程开发20年2 分钟前
VS重大升 AI功能:Agent Skills:给 Copilot 定义 “团队技能”(跑构建、代码规范、模板)
人工智能·copilot·代码规范
七夜zippoe3 分钟前
DolphinDB机器学习函数:内置ML能力
人工智能·机器学习·ml·dolphindb·内置
ishangy4 分钟前
智慧港口中采用AI防爆摄像机实现未知异物秒级报警
人工智能
Promise微笑4 分钟前
气体露点仪测量技术:露点仪原理、分类、选型与应用前沿
人工智能·分类·数据挖掘
AI客栈4 分钟前
模型服务部署:Triton Inference Server 与 KEDA 弹性伸缩的工程实践
人工智能
todoitbo6 分钟前
把 GitNexus 接进 Codex:安装、索引、Web UI 和项目分析实操
人工智能·ai·codex·claude code·gitnexus
进击切图仔8 分钟前
确保深度神经网络在训练过程中的数值稳定性
人工智能·机器学习·dnn
ai产品老杨8 分钟前
深度解析:基于Docker构建的安防视频AI平台——如何通过GB28181/RTSP协议栈统一接入与全套源码交付,破局异构边缘计算芯片内卷
人工智能·docker·音视频
DANGAOGAO9 分钟前
企业级 RAG 多路召回智能客服实战:第 1 章,从 Demo 到生产架构
人工智能