【相机标定】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
相关推荐
陆枫Larry2 分钟前
英伟达 H100 是啥,到底好在哪?
人工智能
老郑聊AI业财智造14 分钟前
Spring AI 技术架构与源码分析
java·人工智能·后端·spring·架构·软件工程
一点一木14 分钟前
豆包工作发布:飞书,才是它真正的底牌
人工智能·ai编程·产品
Csvn15 分钟前
第 1 章 AI Agent 是什么
人工智能·aigc
阿里云大数据AI技术15 分钟前
知衣科技 × 阿里云:以MaxCompute 向量检索打通商品与海外社媒内容,让跨境选品看见真实热度
人工智能·agent
2601_9600176222 分钟前
胶黏剂PLM选型指南:为什么垂直行业专用PLM更合适
大数据·人工智能
工业机器视觉设计和实现28 分钟前
opencv的模板匹配
opencv·计算机视觉
CSND74030 分钟前
DeepSeek Harness实测+入门教程
人工智能·python
后端小肥肠37 分钟前
历经两个月,我跑通了 Codex 自动剪辑,涨粉破千
人工智能·aigc·agent