2

我有从 gopro hero3 拍摄的 2000 帧大型夜空图像系列。 这本身就是愚蠢的,因为 GoPro 的低光性能很差。 我对图像做了一些简单的数学运算,并在 2 小时内确定了恒星位置“弧线”。

有没有办法使用星星运动来解决镜头的失真和星星的旋转?也许使用 OpenCV 或桶形失真校正公式?

我觉得应该有一种通用的方法来解决像素偏移方程,而不管镜头畸变和恒星旋转之间的相互作用。有任何想法吗?相信我拥有所需的所有信息,大约 30k 个数据点跨越 250 颗星:(star_id, time, x, y) 具有良好的覆盖率,请参见下面的快速图表。

星轨

4

2 回答 2

1

要计算失真参数,您需要有一个特定的场景。仅仅有足够的积分并不意味着它们是有用的。在您的情况下,甚至需要额外的数学工作来计算时间校正的对象坐标。

另一方面,您实际上并不需要使用数据集来计算失真参数 (DP)。使用这款相机,您可能无法获得优于 ~ 1/20 像素的精度,因为它根本不适合测量。

我的建议是创建一个良好的校准场景并校准相机,您可以在其中计算焦距、偏移 (x0,y0) 和三次函数 A1、A2、A3 中的至少三个桶形失真参数。之后,您可以将桶参数应用于您的图像。

请注意,校准场景会产生(始终)本地 DP 参数,该参数仅适用于当前场景,不适用于您的夜间场景。但是,由于凸轮/镜头组合不是为精确测量而设计的,因此当您从夜景中计算 DP 时,您不会真正获得更好的结果。

于 2014-04-30T07:43:25.490 回答
0

如果您只需要相机失真校正(并且不想使用其他困难的方法,因为“科学很美”),您可以使用openCV 的相机校准

于 2014-09-27T17:39:11.247 回答