【相机标定】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
相关推荐
Pocker_Spades_A20 分钟前
工业智能化的时序选型指南:当数据底座遇见机器学习
人工智能·机器学习
2601_9557819820 分钟前
飞书远程控机:OpenClaw配置全攻略
人工智能·开源·github·飞书·open claw安装·open claw部署
Inhand陈工24 分钟前
游轮WiFi覆盖方案复盘:6台5G CPE + AP实现全船高速上网
人工智能·物联网·网络协议·网络安全·信息与通信·iot
程序猿追28 分钟前
在 HarmonyOS 模拟器上种出斐波那契螺旋线
大数据·人工智能·microsoft·华为·harmonyos
:mnong36 分钟前
跟着 Sesame Robot 项目学习
人工智能·robot·esp
AI算法沐枫1 小时前
机器学习到底是什么?
人工智能·python·深度学习·机器学习·数据挖掘·大模型·#ai
ai产品老杨1 小时前
解耦异构算力:基于 Docker 与边缘计算的企业级 AI 视频管理平台架构演进(支持 GB28181/RTSP 与源码交付)
人工智能·docker·边缘计算
无极低码1 小时前
# 认知错位与能力边界:AI在编程与现实落地中的真实困境
人工智能
甲维斯1 小时前
骚操作2 !把DeepSeek接入Claude桌面版!
人工智能
高洁011 小时前
知识图谱:AI的超级大脑
人工智能·python·数据挖掘·知识图谱