opencv - 在开放 CV 中使用单应性从同一场景的相同相机拍摄的两个图像之间的视图映射,除了相机位置不平行
问题描述
我试图了解同一场景的两个图像之间的映射点,但相机位置不同。像这样说为粗略的草图和手写道歉。取自 cam1的样本图像和取自 cam2 的样本图像。试图在这两个图像之间进行映射。因为使用的两个相机是相同的(罗技相机)。我认为不需要相机校准。因此,在 SIFT 描述符和特征匹配的帮助下,使用来自图像的良好匹配作为带有 RANSAC 的 Homography 的输入。我得到 3*3 矩阵。验证视图映射。我在 cam1 图像中选择了几个对象(比如图像中的 bin),并尝试使用 warp_perspective 使用 3 * 3 矩阵在 cam2 图像中映射相同的对象,但输出并不好。说这样的话 已选择 cam1 图像(即 bin)中对象的左上角和右下角,并尝试为 cam2 图像中的所需对象绘制边界框。但正如在视图地图输出图像中可见的那样,边界框不适合垃圾箱。
想明白,我哪里错了。是否是相机位置影响,这不应该用于单应性或必须使用多个单应性或必须了解相机位置之间的转换。很困惑。谢谢你。
解决方案
推荐阅读
- web - 如何在网站上设置基本身份验证?
- sql - SQLite 中的后备 UPDATE 语句
- algorithm - Fortune计算Voronoi图的算法中的交点
- r - 如何对时间序列进行二次采样(GPS 位置突发)
- r - 这里的 goto 语句(来自例如 c++)的 r 等价物是什么?
- jena - 耶拿 org.apache.jena.sparql.core.GraphView 的目的是什么
- c# - 使用 linq 分隔特殊字符所在的字符串
- javascript - 将 snap svg 画布信息保存到 xml
- c# - 使用 Bluebeam 的 Revit 打印 PDF
- javascript - 如何使按钮单击然后使用reactjs打开图像