OpenCV中有没有使用鱼眼镜头参数计算光线方向的函数

问题描述 投票:0回答:2

给定像素位置,我们可以使用相机的固有信息计算 3D xyz 射线方向。

但是这个问题对于鱼眼镜头模型来说有点棘手。

OpenCV中有没有利用鱼眼镜头参数计算光线方向的函数?

实现此功能并不太困难,但我要求防止重新发明轮子。

opencv computer-vision camera-calibration
2个回答
1
投票

使用

cv::fisheye::undistortPoints()

为新的

P
相机矩阵传递一个单位矩阵。这应该会产生合适的矢量(来自相机的光线)。


0
投票

简单的答案是否定的! opencv中使用的Kannala模型没有逆模型! opencv中的人做的事情如下: 他们假设一个焦距为1的透视相机, 因此相机矩阵K [1,0,0 0,1,0 0,0,1] 然后,他们对光线应用反向投影,对于相同的光线,他们将前向模型应用到鱼眼相机中,并对强度值应用插值 这是相当正确的,因为透视相机不会覆盖 180 度之外的信息,并且显然会引入严重的强度差异(因为插值) 正确的方法是使用 Scaramuzza 的 OmniCam 模型,它已经为所有操作提供了稳定的库 此外,对于特殊的相机,光线弯曲多项式(opencv错误地命名为“镜头畸变系数”?!?!) 可以有合适的顺序,更好地覆盖相机型号!

© www.soinside.com 2019 - 2024. All rights reserved.