【相机标定】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
相关推荐
IT_陈寒1 分钟前
Python的多线程居然是个假把式?搞清GIL让我少熬三天夜
前端·人工智能·后端
熊野君13 分钟前
第 7 章 AI时代产品经理新增能力
大数据·人工智能·经验分享·职场和发展·产品经理
AcaDesign17 分钟前
省部级协会科学技术奖答辩ppt视频制作_科技进步奖_技术发明奖_自然科学奖PPT模板
人工智能
思考着亮31 分钟前
7.限流、安全防护、缓存分流与模型容灾
人工智能
nbsaas-boot43 分钟前
多智能体系统的架构边界:任务编排、共享状态与故障隔离设计
人工智能·算法·动态规划
嘿嘿-661 小时前
GPT-6 Astra 新手快速上手指南
人工智能·gpt·ai·chatgpt·ai编程
大熊背1 小时前
基于 CFA 阵列特征的自适应去马赛克算法(二)
图像处理·人工智能·计算机视觉·插值·去马赛克
oort1231 小时前
OortCloud Token Plan
大数据·人工智能·开源
flyinsono1 小时前
宠物医疗数字化升级,选对工具少走弯路
人工智能·宠物
VivienneLuo1 小时前
3. 联邦图学习-《Federated Graph Neural Networks: Overview, Techniques and Challenges》
人工智能·gnn·联邦学习