【相机标定】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
相关推荐
Dontla8 分钟前
kiro介绍(亚马逊AI Agent 集成开发环境(Agentic IDE))(Specs规范驱动开发、需求驱动开发、Spec模式)对标Cursor、Claude Code
人工智能
老刘说AI8 分钟前
浅谈多模态领域的Transformer
人工智能·深度学习·神经网络·机器学习·语言模型·transformer
大囚长22 分钟前
AI安全研究员现状
人工智能·安全
冰西瓜60031 分钟前
深度学习的数学原理(二十五):缩放点积注意力
人工智能·深度学习
泰恒32 分钟前
学习神经网络
人工智能·深度学习·机器学习
Spey_Events1 小时前
首发定档!2026中国航空维修制造及航材供应链展览会将于10 月在上海举办!
人工智能·制造
DeepModel1 小时前
机器学习非线性降维:局部线性嵌入 LLE
人工智能·机器学习
lUie INGA1 小时前
rust web框架actix和axum比较
前端·人工智能·rust
新缸中之脑2 小时前
HDRI-Generator: 环境贴图生成AI
人工智能·贴图