- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试使用 > 180 度的超广角镜头校准相机。我使用 OpenCV 3.2 和来自 opencv/samples/cpp/tutorial_code/calib3d/camera_calibration
的相机校准代码,结果我得到类似于 this one 的图像来自 this post .我在 youtube.com 上发现了很多电影,人们在这些电影中展示了他们如何校准鱼眼相机,例如 this video .
我知道超广角镜头相机的校准可能很棘手。我还发现在 openCV contrib 中还有另一个用于鱼眼相机校准的标准模型。
是否可以使用标准 OpenCV 中的相机校准模型来校准这种广角相机,或者我应该使用其他模型,例如来自 openCV contrib 的模型?
最佳答案
几周前我正在处理同样的问题,我发现标准模型不适用于我的鱼眼图像(>180 FOV)。话虽如此,我确实在 Github 上找到了一个解决这个问题的拉取请求 - https://github.com/opencv/opencv/pull/6801 .
我最终放弃了标准模型,只使用了全向模型 - http://docs.opencv.org/trunk/dd/d12/tutorial_omnidir_calib_main.html这就像一个魅力。
作为旁注,在研究失真校正主题时,我遇到了一个常见的误解,即鱼眼镜头产生的鱼眼图像是“失真的”,实际上它们可能是失真的,但生成的图像只是投影。与其他投影一样,鱼眼是将 3D 世界映射到 2D 平面的众多方法之一。大多数相关文献都将其称为“失真”,这无济于事。鱼眼镜头被特意设计成产生带有弯曲线条的图像,而这些线条在使用标准(即直线)镜头时应该是直的。 “畸变”一词仅用于对标准(即直线)镜头产生负面影响的几何像差。
在我的例子中,即使我正在研究畸变校正,但我并没有最终校正任何畸变,我只是简单地做了一个鱼眼到透视投影 - 你可以在这里找到更多信息 http://paulbourke.net/dome/fish2/
此外,关于捕获棋盘图像,请遵循这些建议 - How to verify the correctness of calibration of a webcam?
关于c++ - 是否可以使用标准 openCV 校准鱼眼相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44407690/
是否有任何 eclipse 插件允许在单独的编辑器中仅显示类中的一个方法?就像只将类中的一个方法复制到单独的编辑器中一样,但是可以编辑(保存、使用引用搜索、ctrl+单击以导航到引用的对象)此类。简而
我正在使用这个 d3 示例并实现了鱼眼。基本上,组元素包含矩形和文本元素。如何在鼠标悬停时使组 (bar+txt) 更宽? 这是我的 fiddle :http://jsfiddle.net/30114
我一直在尝试创建一个具有 d3 鱼眼笛卡尔失真且仅 x 轴失真的垂直条形图。 我已经成功地使用以下代码扭曲了鼠标悬停时垂直条的 x 位置: var maxMag = d3.max(dataset, f
我想在我的网站上放置一个水平鱼眼/停靠导航,但我需要它固定定位...我发现的所有导航都不支持固定定位。 以下是我找到的一些链接: jQuery OS X Dock #1 - 不支持固定定位 CSS D
由于 lenscorrection,使用 ffmpeg 似乎可以补偿鱼眼失真过滤器: ffmpeg -i in.mp4 -vf "lenscorrection=cx=0.5:cy=0.5:k1=-.2
我是一名优秀的程序员,十分优秀!