我有一个大型的2000帧系列夜空图像取自gopro hero3。 这本身就很愚蠢,因为GoPros的光线性能很差。我对图像进行了一些浅色数学运算,并在2小时内确定了星形位置“弧线”。
有没有办法,使用星球运动来解决镜头失真和星形旋转?也许使用OpenCV或桶形失真校正公式?
我觉得应该有一种通用的方法来解决像素偏移方程,无论镜头失真和星形旋转之间的相互作用如何。任何想法?我相信我拥有所需的所有信息,大约250个星的30k数据点:(star_id,time,x,y),覆盖率很高,请参阅快速图形图像下方。
答案 0 :(得分:1)
要计算失真参数,您需要有一个特定的场景。只要有足够的积分并不意味着它们是有用的。在您的情况下,它甚至需要额外的数学工作来计算时间校正的对象坐标。
另一方面,您并不需要使用数据集来计算失真参数(DP)。使用这款相机,您可能无法获得比~1/20像素更好的精度,因为它根本无法测量。
我建议创建一个好的校准场景并校准相机,在这里你可以计算焦距,偏移(x0,y0)和立方函数A1,A2,A3中的至少三个桶形失真参数。之后,您可以将桶参数应用于图像。
请注意,校准方案会产生(始终)本地DP参数,该参数最适合当前场景,而不适用于夜间场景。但由于凸轮/镜头组合不是为了精确测量而制作的,因此当您从夜景中计算DP时,您将无法获得更好的效果。
答案 1 :(得分:0)
如果您只需要纠正相机失真(并且不想使用其他困难的方法,因为"科学很漂亮"),您可以使用camera calibration from openCV。