【相机标定】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 分钟前
跨越波段盲区,获取多维信息:全波段光谱相机能解决什么?
数码相机
甜味弥漫3 分钟前
MCP 是什么?为什么 AI Agent 需要 MCP?
人工智能
weixin_446260854 分钟前
HumanForge:基于多智能体伪造推理的以人为中心深度伪造视频基准
人工智能·音视频
2401_8595062413 分钟前
玉石加工全链路技术变革:五大维度拆解材质改性、精密雕刻与智能溯源
大数据·人工智能
神奇小汤圆17 分钟前
大模型微调界的“全自动工厂”:进来时是基座模型,出去时是AI专家
人工智能
墨神谕18 分钟前
神经网络之Transformer
人工智能·神经网络·transformer
m0_6174939422 分钟前
Python OpenCV 透视变换(Perspective Transform)详解与实战
开发语言·python·opencv
神奇小汤圆30 分钟前
用 Solon AI ReActAgent 落地智能客服工单处理
人工智能
Days205031 分钟前
好酷AI制作漫剧软件
人工智能
AI-好学者32 分钟前
RDF对比与Neo4j性能优化
人工智能·知识图谱·neo4j·knowledge graph