opencv 畸变系数的说明

下图展示了针孔相机模型。

透视投影的几何示意图如下:

针孔相机的实际镜头通常存在一定程度的畸变,主要为径向畸变,切向畸变较小。因此,上述模型扩展为:

其中,

且,

​​​​​​​ ​​​​​​​ ​​​​​​​

​​​​​​​ ​​​​​​​ ​​​​​​​ ​​​​​​​

如果

是径向畸变系数。 是切向畸变系数, 是薄棱镜畸变系数。OpenCV 中不考虑高阶系数。

下图展示了两种常见的径向畸变:桶形畸变 (单调递减)和枕形失真(单调递增)。对于实际镜头,径向畸变始终是单调的,如果估计器产生非单调结果,则应视为校准失败。更一般地,径向畸变必须是单调的,并且畸变函数必须是双射的。失败的估计结果在图像中心附近可能看起来非常好,但在例如 AR/SFM 应用中效果很差。OpenCV 相机校准中使用的优化方法不包含这些约束,因为该框架不支持所需的整数规划和多项式不等式。

在以下函数中,系数以如下方式传递或返回:

通常opencv通常的模型中,主要有下面两种

5-系数畸变参数,

8-系数畸变参数,

着畸变系数与拍摄场景无关,因此它们也属于相机的固有参数,并且与拍摄图像的分辨率无关。

如果一台相机使用 320 x 240 分辨率的图像进行校准,那么对于同一台相机拍摄的 640 x 480 分辨率的图像,可以使用完全相同的畸变系数。

换句话说,调整图像的分辨率,畸变参数不影响,但是 需要进行适当调整。

相关推荐
April6663 小时前
Prompt-only 已死,Harness 才是 2026 的分水岭
人工智能
没落英雄3 小时前
从零开始搭建一个 AI Agent —— LangChain + TypeScript 实战手记
前端·人工智能·架构
web_Leon3 小时前
为什么越来越多的大厂抛弃MCP,转向CLI?
人工智能·ai编程
用户3615567288183 小时前
给VSCode写个扩展,选中代码就问AI,SSE坑不少
人工智能
武子康4 小时前
调查研究-203 SpaceX IPO 总览:先别急着讲故事,先把发行事实和信息边界立住
人工智能·openai·agent
IT_陈寒4 小时前
Redis内存飙升的锅,原来是我没搞懂这个过期策略
前端·人工智能·后端
东坡肘子5 小时前
SPI 加入 Apple,Swift 迈向自举 -- 肘子的 Swift 周报 #142
人工智能·swiftui·swift
小和尚同志14 小时前
AI 自动化测试探索(二):Chrome-devtools MCP
人工智能·e2e·aigc
冬奇Lab16 小时前
Workflow 系列(02):设计范式——四层架构、三种 Context 传递模式与确认门设计
人工智能·agent·工作流引擎