opencv 畸变系数的说明

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

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

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

其中,

且,

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

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

如果

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

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

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

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

5-系数畸变参数,

8-系数畸变参数,

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

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

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

相关推荐
没事勤琢磨1 小时前
如何让 OpenClaw 控制使用浏览器:让 AI 像真人一样操控你的浏览器
人工智能
用户5191495848451 小时前
CrushFTP 认证绕过漏洞利用工具 (CVE-2024-4040)
人工智能·aigc
牛马摆渡人5282 小时前
OpenClaw实战--Day1: 本地化
人工智能
前端小豆2 小时前
玩转 OpenClaw:打造你的私有 AI 助手网关
人工智能
BugShare2 小时前
写一个你自己的Agent Skills
人工智能·程序员
机器之心2 小时前
英伟达护城河被AI攻破,字节清华CUDA Agent,让人人能搓CUDA内核
人工智能·openai
后端小肥肠4 小时前
公众号躺更神器!OpenClaw+Claude Skill 实现自动读对标 + 写文 + 配图 + 存入草稿箱
人工智能·aigc·agent
爱可生开源社区4 小时前
SCALE | 重构 AI 时代数据库能力的全新评估标准
人工智能
Jahzo4 小时前
openclaw本地化部署体验与踩坑记录--飞书机器人配置
人工智能·开源
Narrastory4 小时前
明日香 - Pytorch 快速入门保姆级教程(一)
人工智能·pytorch·深度学习