首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从视频馈电中确定房间大小的算法

从视频馈电中确定房间大小的算法
EN

Stack Overflow用户
提问于 2011-09-28 01:02:47
回答 1查看 2.8K关注 0票数 5

有没有人知道一种图像分析算法,我可以用它来确定一个房间的大小(在实际测量中,比如说,以米或其他什么为单位),这个房间的一个(或多个)视频记录有多大?

我目前正在使用OpenCV作为我的图像库的选择,但我在学习图像分析算法方面还没有取得多大进展,只要一个名字就可以了。

谢谢

编辑:好吧,我刚从相关人员那里得到了一点澄清。我基本上无法控制视频馈送的方式,也不能保证有多个数据源。然而,我在房间里有一个特定的位置,我应该放置一些与这个点相关的东西。所以我可能会试图找出房间的边缘,然后确定给定位置在房间里的距离,然后猜猜房间有多大。

EN

回答 1

Stack Overflow用户

发布于 2011-09-28 04:48:40

非常困难(但很有趣!)问题来了。

如果你想用一种完全自动化的方式来做这件事,我想你会有很多问题。但我认为,如果操作员可以在一组图片中标记控制点,这是可行的。

您的问题可以更一般地描述为在三维空间中找到两个点之间的距离,当您在两个或多个从不同角度拍摄的2D图片中只有这些点的位置时。这个过程或多或少会像这样工作:

  • 图片将与相机的位置和定位信息。例如,假设你得到了两张照片,具有相同的相机方向,而这两张照片是用相机水平相距三英尺拍摄的。您必须为相机所在的3D空间定义一个参考原点,例如,您可以说左边的图片的相机在(0,0,0),右边的图片在(3,0,0),两者都面向前,这将是一个方向(0,0,1)。或者类似的东西。
  • 现在接线员来了,并在两张照片中标记了房间的两个角落。所以每个角落都有2组2D坐标。
  • 你必须知道你的相机和镜头的细节(视野,镜头畸变,像差等)。你越了解你的相机是如何变形图像的,你就越能做出准确的估计。这是同样的东西,全景拼接软件做,以实现更好的缝合。有关这方面的信息,请参见PanoTools
  • 下面是有趣的部分:您现在将对每个2D点做透视投影的逆操作。透视投影取3D空间中的一个点和摄像机的定义,并计算一个2D点。它用于表示平面上的三维物体,如计算机屏幕。你做的是相反的,对于每个2D点,你将试图获得一个三维坐标。因为2D点中没有足够的信息来确定深度,所以从一个二维点中你能做的最好的事情就是在3D空间中获得一条线,它穿过镜头和被讨论的点,但是你不知道这个点离镜头有多远。但是在两幅图像中有相同的2D点,所以你可以从不同的摄像机位置计算出两条3D线。这些线不会是平行的,所以它们会在一个点上相交。三维线的交点将很好地估计三维点在空间中的位置,以及在参考相机三维空间的坐标中的位置。
  • 其余的都很简单。当你有两个感兴趣点的估计三维位置时,你只需要计算它们之间的三维距离,这就是你想要的数字。

很简单,是吧?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7577266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档