【相机标定】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
相关推荐
智塑未来11 分钟前
app应用怎么接入广告?标准流程与落地实操方案全解析
大数据·网络·人工智能
甲维斯22 分钟前
Claude Code的六种种授权模式!安全和效率控制
人工智能·ai编程
curd_boy31 分钟前
【AI】生产级 Graph RAG 落地架构
人工智能·架构
夏天想35 分钟前
人类将从“执行者“变为“总导演”,学习Ai知识
人工智能·学习
yangshicong37 分钟前
第11章:结构化输出与数据提取 —— 让 AI 直接返回你想要的数据格式
数据库·人工智能·redis·python·langchain·ai编程
@PHARAOH41 分钟前
WHAT - AI 领域的 hermes 和 harnes
人工智能
kevin 142 分钟前
财务报销智能审核怎么落地?DocFlux 智能分类抽取,全过程溯源
人工智能·ocr
言之。1 小时前
【Python】免费的中文 AI 配音方案
开发语言·人工智能·python
zhangxingchao1 小时前
AI应用开发七:可以替代 RAG 的技术
前端·人工智能·后端