我知道默认的OpenCV校准系统模型是针孔相机,但我使用的是一个使用极宽视野镜头(187度)的系统。如果在OpenCV中有任何现有的方法可以做到这一点,或者只使用宽镜头?或者我必须为我的系统重写所有的校准/不失真?
发布于 2012-10-25 21:27:09
似乎没有好的OpenCV方法可以做到这一点。
我最终使用OCamLib进行实际校准,然后编写自己的"undistortPoints“函数(使用Scaramuzza的算法),将2D图像点不失真为3D单位向量(而不是2D点)。不幸的是,这也破坏了OpenCV中的许多其他东西,因为大多数OpenCV图像处理函数都需要2D点和它们自己的针孔校准模型,所以我不得不为此重新编写大量代码。
我欢迎任何其他对此的见解。
发布于 2014-02-22 15:52:28
人们不经常使用广角镜头有一个很好的理由--当图像没有失真时,产生的图像是高度非矩形的,边缘的质量非常差,以至于需要将图像裁剪回…90度视野所以问题是,为什么不首先使用90度的视野镜头呢?随着立体摄像机和图像校正的出现,情况变得更加糟糕。
如果你真的需要宽视野,使用几个相机或旋转相机。以下是一些示例:PointGrey Inc.
发布于 2017-06-10 04:03:38
为了校准具有极宽视野镜头的相机,您可以使用OpenCV Contrib的Omnidirectional Camera module。需要注意的是,您必须使用OpenCV工具重新构建OpenCV才能使用它。
https://stackoverflow.com/questions/13013513
复制相似问题