【相机标定】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
相关推荐
Y学院几秒前
Codex 在国产信创环境下的安装与适配实践
人工智能
qq3621967051 分钟前
GEO执行框架:从诊断到落地的完整实施方案
人工智能·chatgpt
YOLO数据集集合1 分钟前
无人机航拍光伏板状态识别数据集 | 太阳能板异常检测、智能巡检、深度学习模型训练素材第10340期
人工智能·深度学习·yolo·目标检测·无人机
總鑽風1 分钟前
[特殊字符] Spring AI Alibaba企业级智能助手落地实践
java·人工智能·spring
Kobebryant-Manba3 分钟前
学习卷积神经网络
人工智能·深度学习
Nile5 分钟前
解密Palantir系列二:1.Foundry · 数据操作系统
大数据·人工智能·ai·ai编程·ai-native
AI服务老曹5 分钟前
统一接入百家私有协议:基于 Docker 容器化的 GB28181/RTSP 边缘计算视频中台架构解析(附全源码交付)
人工智能·docker·边缘计算
TMT星球7 分钟前
AI定义汽车,赛豆科技发布AI汽车品牌AIVA
人工智能·科技·汽车
在水一缸7 分钟前
AI 搜索新纪元:Perplexity 与 SearchGPT 如何颠覆传统搜索
人工智能·搜索引擎·大模型·信息检索·ai搜索·perplexity·searchgpt