我在世界坐标中有一条线并将其投影到图像上(如这个问题math.stackexchange中所述)。这会在图像空间中产生一个简单的线方程,因此我可以使用 OpenCV 在图像中轻松打印它。
现在我想将这条线投影到鱼眼相机图像中。因为我有一个相应的非线性失真函数,所以我可以很容易地扭曲点。现在最简单的方法是通过这个函数从生成的线中扭曲每个点。但这会导致多个线段和未设置的像素(通常属于失真线)。
我想知道什么是获得正确扭曲线的聪明方法。也许还需要以不同的方式处理线投影?我可以更频繁地对直线进行采样(即使用亚像素坐标),但我认为这并不能保证我得到正确的解决方案。
编辑:
我的失真函数是一个简单的多项式
r(a) = k1*a+k2*a^2+k3*a^3+k4*a^4
其中a
是未失真的入射光线与光轴的角度,r
是失真图像中像素的半径。您可以在此处阅读更多相关信息。