【相机标定】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
相关推荐
极新16 分钟前
中国机器人已出海至141国,售后服务正成为新的机会
大数据·人工智能·机器人
张彦峰ZYF22 分钟前
MCP 从“能连工具”到“像 Web 一样部署”——无状态核心、扩展框架与企业级 Agent 基础设施的真正分水岭
人工智能·llm·agent·mcp
ITresearchGuest35 分钟前
我用 AI 一小时写了一个世界杯数据可视化平台|前端 VibeCoding 初体验
前端·人工智能·信息可视化
AI_yangxi42 分钟前
靠谱的短视频矩阵系统
大数据·人工智能·矩阵
czxxxc44 分钟前
知识服务迎来 AI 变革,创客匠人 AI 智能体破解创作者运营难题
大数据·人工智能
黑旋风小威1 小时前
一句话成片教程:用AI快速生成漫剧的实操方法分享
人工智能
冬奇Lab1 小时前
Code Agent 解剖(17):AgentTeams——消息怎么在 agent 之间传递?
人工智能·开源
冬奇Lab1 小时前
一天一个开源项目(第205篇):PenguinHarness - 让 AI 来构建 AI
人工智能·开源·资讯
小鹿的周先生1 小时前
Spring-AI-第2篇-ChatClient 实战:使用 DeepSeek 完成第一次 AI 对话
java·人工智能·spring
ajassi20001 小时前
AI语音智能体开发日记(十五)智能体LCD屏幕GIF动画显示方案——从GIF到BMP的完整实战
人工智能·ai·ai编程