【相机标定】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
相关推荐
陶陶然Yay几秒前
神经网络池化层梯度公式推导
人工智能·深度学习·神经网络
淘气包海鸟几秒前
雷达度量衡量
人工智能·算法·机器学习·信息与通信
慧一居士3 分钟前
Spring AI MCP服务如何选择使用 WebMVC还是WebFlux
人工智能·系统架构
Irissgwe5 分钟前
LangChain 与 LangGraph 介绍(一)
人工智能·langchain·llm·langgraph
BizObserver7 分钟前
从 SEO 到 GEO:2026 年品牌信息分发逻辑的颠覆性变革
大数据·运维·网络·人工智能·安全
AI服务老曹11 分钟前
从底层协议对接说起:基于 GB28181/RTSP 的异构视频流接入架构设计与源码级解析
人工智能·docker
CoderJia程序员甲13 分钟前
GitHub 热榜项目 - 日榜(2026-04-24)
人工智能·ai·大模型·github·ai教程
zhaoshuzhaoshu13 分钟前
主流 AI 编程助手工具特点与对比
人工智能·python
KJ_BioMed14 分钟前
AI赋能新药研发!化合物虚拟筛选春日特惠3天极速交付
人工智能·虚拟筛选·ai算法·生命科学
杨航 AI16 分钟前
Skills:让 AI 拥有“可插拔能力”的一种工程化方案
网络·人工智能