通过两张图像之间的姿势,如何将一个场景中的一个点投影到另一个场景中?

2024-03-03

如果您拥有查看同一场景的两个图像的完整相对 3D 值(相对 x、y、z),以及它们之间的外部/内部参数,那么如何将一个场景中的点投影到另一个场景中,在opencv中?


一般情况下你不能这样做。有无数个 3D 点(3d 中的一条线)映射到图像空间中的一个点,在另一张图像中,这条线不会映射到单个点,而是一条线(请参见维基百科关于对极几何的文章 http://en.wikipedia.org/wiki/Epipolar_geometry#Epipolar_line)。您可以计算该点必须位于的直线上基本矩阵 http://en.wikipedia.org/wiki/Fundamental_matrix_%28computer_vision%29.

If you do have a depth map, reproject the point into 3D - using the equations on the top of the opencv page on camera calibration http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#cv-reprojectimageto3d, especially this one (it's the only one you need):
Camera equations
u and v are your pixel coordinates, the first matrix is your camera matrix (for the image you are looking at currently), the second one is the matrix containing the extrinsic parameters, Z you know (from your depth map), X and Y are the ones you are looking for - you can solve for those parameters, and then use the same equation to project the point into your other camera. You can probably use the PerspectiveTransform function from opencv to do the work for you, however I can't tell you from the top of my head how to build the projection matrix.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过两张图像之间的姿势,如何将一个场景中的一个点投影到另一个场景中? 的相关文章

随机推荐

  • 由于依赖性问题,离子启动失败

    我刚刚安装了 Ionic npm install g ionic cli 当我尝试跑步时 ionic start ionic test app 初始化失败并出现 npm 依赖错误 关于名为 postcss 的包的错误版本的问题 ionic
  • https://www.googleapis.com/games/v1/players/xxxxx LibGDX And​​roid 出现意外响应代码 403

    我正在使用 LibGDX 制作 Android 游戏 我想使用 Google Play 游戏服务 API 但我无法让它工作 当我尝试登录时会发生以下情况 06 12 20 08 47 745 E Volley 4046 253 tk a U
  • 尝试静态链接 Boost

    我正在 Linux Eclipse CDT g 和 Boost 库中工作 对于使用 Boost 线程的现有程序 我尝试静态链接它而不是动态链接它 usr local lib 目录包含以下文件 libbost thread a libbost
  • JS 三元运算符混淆

    我现在正在学习三元运算符 我已经掌握了基础知识 但后来我看到了这个片段 它对我来说没有任何意义 谁能解释一下它是如何组合在一起的 b m 4 c 2 63 lt a 77 gt a a 65 48 lt a 57 gt a a 48 c 1
  • 结构体数组

    在不知道数组中最终存储的结构数量的情况下 如何在 C 中创建结构数组 我想在 for 循环中循环 创建一个 tempStruct 设置其变量 将其添加到数组中 然后再次循环 创建一个新的 tempStruct 并将其添加到数组中 当我试图与
  • 如何将菜单项放置在弧形栏上?

    我的客户想要一个弯曲的菜单 我该怎么做 菜单项位于红色方块中 它们应该大致位于粉色方块所在的位置 在蓝色条上 我应该以某种方式将它们放置在 SVG 中 还是将 SVG 与背景图像结合起来 并使用 Flexbox 等定位菜单项 而且它还应该对
  • “SQLNCLI”提供程序未在本地计算机上注册,sql server 2012

    致力于将应用程序从我的开发箱部署到客户端 在客户端上运行 exe 时 出现错误 SQLNCLI10 提供程序未在本地计算机上注册 我正在 SQL Server 2012 中进行开发 我尝试在目标计算机上安装 sqlncli msi 但没有成
  • AngularJS $compile 未定义

    我正在尝试学习 AngularJS 并且正在尝试动态编译一些 DOM 元素 我已经尝试过演示 try var templateHTML angular element p total p scope var clonedElement co
  • 哪里是设置 NOCOUNT 的最佳位置?

    对于运行在专用 SQL Server 上的大型数据库 数千个存储过程 是否最好包含SET NOCOUNT ON在每个存储过程的顶部 或者在服务器级别设置该选项 属性 gt 连接 gt 无计数 复选框 听起来 DRY 原则 不要重复自己 适用
  • iPhone 音频播放:通过内置扬声器强制播放?

    有谁知道是否可以实现即使插入耳机也可以通过内置扬声器播放音频文件 我不确定您是如何进行音频播放的 但请尝试查看 重定向输出音频 部分音频会话编程指南 http developer apple com iphone library docum
  • 如何内联分配 C 结构体?

    typedef struct int hour int min int sec counter t 在代码中 我想初始化该结构的实例 而不显式初始化每个成员变量 也就是说 我想做类似的事情 counter t counter counter
  • 从 json 反序列化,其中可以是单个 T 对象或 T 数组到 List [重复]

    这个问题在这里已经有答案了 我有这样的代码 var json GetJsonData path JObject event dates data JObject Parse json var event dates list JObject
  • /usr/local/lib/python2.6 和 /usr/lib/python2.6 有什么区别?

    我正在使用 Ubuntu 并注意到这两个目录 usr local lib python2 6 dist packages usr lib python2 6 dist packages 应该使用哪一个来安装 Python 包 Thanks
  • 持久的 RESTful 交互

    目前我们的团队正在进行讨论 我对其他观点感兴趣 假设我们有一个 RESTful Web 服务 其作用是通过应用各种分析算法和服务来注释文档 基本交互清晰 我们有一个资源 即文档集合 客户端将新文档 POST 到集合中 获取新文档的 URI
  • 如何设置表单具有透明背景

    我正在努力让我的表单在 vb net 中具有透明背景 目前采用新我设置的形式 Me SetStyle ControlStyles SupportsTransparentBackColor true 但表单仍然显示为具有默认的灰色背景 有人可
  • 如何在magento中进行自定义查询?

    我想在 magento 网站中编写自定义查询 我在 magento 根文件夹中创建了一个文件 test php 并编写了一个自定义查询 但它没有给我任何结果 请指导我 尝试这个 connection Mage getSingleton co
  • 如何在 python 中设置 __contains__ 方法?

    我无法理解如何正确设置contains我班上的方法 我知道当你调用它时它会自动使用运算符 in 我只是认为我不明白如何正确设置它 我必须使用它来查看 anotherCircle 是否包含在特定的圆圈内 均来自用户输入 教授让我们为此采用两种
  • Xcode 5 到 Xcode 4 项目运行

    我有一个在 iOS SDK 6 中启动的项目 我下载了带有 iOS 7 的 Xcode 5 Beta 并成功运行它 但是 要提交项目 我需要返回到 SDK 6 和 Xcode 4 当我这样做时 我会收到项目中每个 XIB 文件的以下消息 如
  • 尝试在实际 Apple Watch 上构建和运行 WatchKit 扩展时,如何避免错误“启动‘AppName’WatchKit 扩展时出错”?

    当我尝试在真正的 Apple Watch 上构建并运行 WatchKit 扩展时 有时会收到以下错误消息 我尝试为 iPhone 构建父应用程序 然后再次为我的 WatchKit 应用程序构建父应用程序 但我仍然收到错误消息 有谁知道导致此
  • 通过两张图像之间的姿势,如何将一个场景中的一个点投影到另一个场景中?

    如果您拥有查看同一场景的两个图像的完整相对 3D 值 相对 x y z 以及它们之间的外部 内部参数 那么如何将一个场景中的点投影到另一个场景中 在opencv中 一般情况下你不能这样做 有无数个 3D 点 3d 中的一条线 映射到图像空间