You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

匹配两款不同FOV运动相机视频的径向畸变参数计算方法

如何计算等效径向畸变参数以匹配两段视频的畸变程度

首先,我们要明确核心目标:找到一组等效的k1、k2参数,让其中一段视频的原始畸变效果(无需做去畸变处理)和另一段视频的畸变效果完全一致。以下是具体的推导和实用步骤:

1. 先理清径向畸变的基础模型

我们采用行业通用的Brown-Conrady径向畸变模型,统一坐标系:以图像中心为原点,将像素坐标归一化到[-1, 1]范围(r为点到中心的归一化距离,r² = x² + y²)。

正向畸变(无畸变点 → 畸变像素)

对于无畸变的空间点坐标(x_u, y_u),经过相机畸变后得到的像素坐标(x_d, y_d)为:
[
x_d = x_u \cdot (1 + k_1 \cdot r_u^2 + k_2 \cdot r_u^4)
]
[
y_d = y_u \cdot (1 + k_1 \cdot r_u^2 + k_2 \cdot r_u^4)
]
其中k1、k2就是相机的径向畸变参数。

逆向去畸变(畸变像素 → 无畸变点)

从畸变像素恢复无畸变点通常需要迭代求解,但消费级运动相机的畸变普遍较小,我们可以用近似逆变换(精度足够):
[
x_u \approx x_d \cdot (1 - k_1 \cdot r_d^2 - k_2 \cdot r_d^4)
]
[
y_u \approx y_d \cdot (1 - k_1 \cdot r_d^2 - k_2 \cdot r_d^4)
]
这里r_d² = x_d² + y_d²,因为小畸变下无畸变距离r_u和畸变后距离r_d几乎相等。

2. 等效参数的推导与计算

假设:

  • 视频X由相机Cₓ拍摄,原始畸变参数为k1_X、k2_X
  • 视频Y由相机Cᵧ拍摄,原始畸变参数为k1_Y、k2_Y

我们需要为视频X计算等效参数k1_eq、k2_eq,让视频X的原始畸变效果和视频Y一致。

核心逻辑

我们的目标是让视频X中每个点的畸变比例(畸变后坐标与无畸变坐标的比值),和视频Y中对应空间点的畸变比例完全匹配。结合小畸变的近似条件,我们可以通过匹配图像边缘的畸变程度来推导参数:

图像边缘的点(归一化距离r=1,畸变最明显),视频X的畸变比例为1 + k1_X + k2_X,视频Y的畸变比例为1 + k1_Y + k2_Y。我们希望等效参数的畸变比例和视频Y一致,同时保留视频X原始参数的非线性比例(k2/k1的比值),这样能匹配整个图像的畸变趋势。

联立两个条件:

  1. 边缘畸变比例匹配:1 + k1_eq + k2_eq = 1 + k1_Y + k2_Y
  2. 非线性比例匹配:k2_eq / k1_eq = k2_X / k1_X(若k1_X ≠ 0)

解这两个方程可得:
[
k1_{eq} = \frac{k1_Y + k2_Y}{1 + k2_X/k1_X}
]
[
k2_{eq} = k1_{eq} \cdot \frac{k2_X}{k1_X}
]

如果k1_X = 0,直接令k1_eq = k1_Y、k2_eq = k2_Y即可(因为此时只有k2起作用)。

3. 验证等效参数的正确性

计算完成后,你可以通过以下步骤验证效果:

  • 从视频X中选取几个特征点(比如图像四角、边缘中点)
  • 用视频X的原始参数去畸变这些点,得到无畸变坐标
  • 用等效参数对原始畸变点做正向畸变计算,看结果是否和视频Y中对应空间点的畸变坐标一致
  • 或者直接视觉对比:将视频X用等效参数标注为“未去畸变”状态,观察其变形程度是否和视频Y一致

内容的提问来源于stack exchange,提问作者Fabien Biller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 10:11:39