Map 如何通过几个图像/电影帧创建房间的二维地图?

Map 如何通过几个图像/电影帧创建房间的二维地图?,map,camera,2d,edge-detection,Map,Camera,2d,Edge Detection,我想通过获取各个方向(360°-例如电影帧)的图片(天花板)来创建一个简单的房间二维地图,通过边缘检测识别墙壁,删除其他不需要的对象,在正确的位置(参见墙壁、全景)绘制图像,最后创建近似的二维地图(从上面看)。获取比例将是另一个参数,这可能很有用 目前我有一些自己的想法,比如使用Sobel算法,但如果有人知道一些项目或软件(GPL,更喜欢免费软件)已经在做这件事,那将很有趣,因为我仍在寻找一些可能对我有帮助的例子 谢谢。我可以通过两种方式看到这一点: 1) 算出墙和拍摄点之间的距离。简单、一致的

我想通过获取各个方向(360°-例如电影帧)的图片(天花板)来创建一个简单的房间二维地图,通过边缘检测识别墙壁,删除其他不需要的对象,在正确的位置(参见墙壁、全景)绘制图像,最后创建近似的二维地图(从上面看)。获取比例将是另一个参数,这可能很有用

目前我有一些自己的想法,比如使用Sobel算法,但如果有人知道一些项目或软件(GPL,更喜欢免费软件)已经在做这件事,那将很有趣,因为我仍在寻找一些可能对我有帮助的例子


谢谢。

我可以通过两种方式看到这一点:

1) 算出墙和拍摄点之间的距离。简单、一致的方法是使用激光或类似的外部测量设备。如果你仅仅依靠设备来完成这项工作,你需要考虑拍照者的身高、相机的角度,当然还有设备本身的镜头特性(即焦距失真)

2) 创建一个真实的控制对象,设备可以将其用作“基线”。制作一个令人讨厌的鲜红色立方体,已知为10x10cm;把它放在房间的角落里;从一个角到另一个角拍摄墙的照片/视频,使用图像检测找到墙的边界,并对立方体进行对象识别;从那时起,计算墙的尺寸就是一个简单的数学。根据镜头的不同,这种方法可能对焦距失真等不太敏感,但为了准确读取,我认为你仍然需要考虑镜头的特性

祝你好运,这不是一件小事。仅墙壁的图像检测将是一项挑战。:)

我有一个类似的实习项目,但最终实习没有结束,因为我们都没有时间了(3个月,没有钱做任何事情)

但不管怎样,最后我们要做的是拿一张大的网格纸,然后把相机对准它,这样我们就可以画出镜头的特征,并用它来调整相机拍出的照片

其次,我们将在每面墙的旁边/上放置一个“众所周知/了解的”对象,并使用该对象来插值每面墙的大小(长度/高度)

现在,这种方法需要更多的“时间”来设置,因为您需要将对象放置在每面墙上,然后对每面墙进行一点重叠的拍照,以便后者可以将其拼接在一起。然后用户会告诉程序每个“角/边”的位置,以便程序知道房间的“一般形状”,然后它会使用放置在墙上的对象来插值每面墙的长度/高度


现在请记住,这将是一个相对手动的过程,但如果有一个设计良好的软件/过程,它可能会相对较快。我的意思是,最慢的手动步骤是将物体放在墙上,然后拍摄房间的“全景”。一旦图片上传到计算机,它就可以进行预处理,将其拼接在一起,然后弹出一张带有一些“线条工具”的图片,你可以用这些工具告诉程序角落/etc在哪里,然后它会进行计算/调整/大小调整/etc.。

这听起来像是一个有趣的问题。这里有一个微软研究论文的链接,可能与此相关


特别是关于基于图像的建模(3.1)的部分。

我想你想要的是从运动中获得结构,这是一种从二维运动图像(视频)中获得三维点云的技术,我可以向你推荐以下页面:

您需要首先校准相机,在获得点云后,您需要找到墙的相应平面,可以选择对其进行网格划分,然后您可以测量墙


有了NexusOne,速度会慢一些,但也许有了更新的手机,你可以使用他们的GPU,优化一些代码,让它运行得更快。如果是我,我宁愿拍摄一段视频,制作一个桌面应用程序,然后将其移植到安卓系统,但我对安卓系统的开发知之甚少。

我想你是在试图用推土机建造一座沙堡。这个:或者一个旋转声纳就足够了。问题是我想用我的手机(Nexus One),它只有一个摄像头,没有激光:)我仍然不确定它的性能是否足够,但我至少想试试,因为这是一个大学项目。这款手机还具有3轴加速功能。传感器我不确定它是否有用。。。我只需要得到一些(未知)房间的2D地图。问题是,你真正需要的是每个方向到墙壁的距离。对图像执行此操作可能非常困难。谷歌地图/街景不是完美的,他们有好几个该死的好摄像头。你是在问如何像谷歌街景那样构建360度全景,还是在问如何检测房间的周长(更难,答案取决于输入数据的性质)?也许你的问题应该重新表述一下。我正在询问创建2D地图的值,例如,一个有4面不同墙的房间——5.6米,角,3.2米,角,5.6米,角,3.2米,结束……回答得很好。还有一个问题是,在安卓系统中使用opencv中的颜色斑点检测是否可能?我在过去的几周里苦苦挣扎,但还是没有任何想法。从哪里开始。我做过opencv的样本。如果你有任何想法的话。请回复。提前感谢…非常感谢您的回复。我们将继续关注此事。