【相机标定】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
相关推荐
kyle~1 小时前
Linux --- CPU 调度机制
linux·运维·数码相机
志尊宝1 小时前
AI原生前端开发(016):端侧AI与React 19结合实战
人工智能·react.js·ai-native
GPUStack1 小时前
从 24 到 51 tok/s:用 GPUStack 调优 4 台 DGX Spark 上的 GLM 推理
人工智能·开源软件·gpustack·推理集群
leizhen198408091 小时前
操作系统正在被为智能体重做_上集(漫画)
人工智能·安全
BD_Marathon1 小时前
【RAG开发】LangChain调用大语言模型
人工智能·语言模型·langchain
大鹏的NLP博客1 小时前
工业视觉目标检测阈值选择与生产决策评估报告
人工智能·目标检测·图像检测
xiaoyunxuexibiji1 小时前
供应商认证管理怎么做?从资质审核到现场认证、样品认证
运维·服务器·人工智能
嘉行文1 小时前
传统机器学习与深度学习的特点与选择
人工智能·深度学习·机器学习
咕泡科技1 小时前
深度学习碾压机器学习?经典机器学习是否真的无用了?从LLM底层逻辑到工业落地全景解析
人工智能·深度学习·机器学习·llm·nlp
腾讯云大数据2 小时前
腾讯云AI Native数据平台功能发布合集【9月】
人工智能·腾讯云