小编Hei*_*els的帖子

OpenCV - 镜头畸变系数是否为项目点反转?

美好的一天,伙计们,

我正在尝试用镜筒畸变进行模拟和成像。我创建一个虚拟棋盘(仅角落),然后使用 OpenCV 将其投影到我的图像平面上。这个想法是用已知的畸变系数来投影这些点,然后尝试镜头畸变校准(用calibrateCamera),并查看是否获得相同的系数。

我的问题是关于作为输入projectPoints的函数distCoeffs。这些系数是否与必须用于使图像不失真calibrateCamera( 的输出)相同?这意味着该函数必须计算该运算的逆运算。或者,它是否使用这些系数直接扭曲物点?这意味着 与 例如 的输出根本不相关calibrateCamera

我之所以这么问,是因为我注意到当我期望桶形失真时,我的模拟会产生枕形失真,反之亦然。这似乎与我想象的相反。

我用来模拟图像的最小工作代码(Python):

# The distortion matrix that I vary
distortion = np.array([0.3, 0.001, 0.0, 0.0, 0.01])

# Generate Grid of Object Points
grid_size, square_size = [20, 20], 0.2
object_points = np.zeros([grid_size[0] * grid_size[1], 3])
mx, my = [(grid_size[0] - 1) * square_size / 2, (grid_size[1] - 1) * square_size / 2]
for i in range(grid_size[0]):
    for j in range(grid_size[1]): …
Run Code Online (Sandbox Code Playgroud)

python simulation opencv distortion

8
推荐指数
1
解决办法
4693
查看次数

标签 统计

distortion ×1

opencv ×1

python ×1

simulation ×1