寻找透视图像的角度

4
我正在开发一个地面设计应用程序,允许用户选择预设的地面图像,并在预设的房间图像内查看它们。 在这里输入图片描述 在这里输入图片描述 我的问题是,我很难正确匹配地面图像与房间图像的透视。我尝试通过调整视点高度和倾斜度来解决问题,但是否有一种方法可以通过使用地面和房间图像的真实世界测量值来计算这些值?由于我在透视绘画方面的知识非常有限,所以如果我使用了错误的术语,请谅解。 任何帮助或建议将不胜感激。
1个回答

8
你应该尝试找到房间结构线的消失点。有许多用于此目的的线条查找算法。 消失方向 您需要找到两个消失点,分别对应地板的两个主要方向。在您的示例中,一个消失点位于所有红色线汇聚处,另一个消失点远在左侧,位于所有蓝色线的汇聚处。
一旦您找到了这个点,就可以从这两个点开始建立常规平铺: 不太规则的平铺 要在地板上映射纹理,您只需找到平铺后的边界矩形: enter image description here 将纹理拉伸到其中: enter image description here 删除多余部分并应用阴影: enter image description here

1
哇,太棒了,谢谢你的迅速回复和详细解答。现在我知道该怎么做了,只需要开始着手自动化这个过程了。非常感谢! - WagglyWonga
1
请注意,这个问题可能比看起来的要棘手一些。你会发现你有一个超定问题。任何一对直线都会给你一个交点。你可能会有多对略有不同的消失点。在计算机视觉文献中,这已经受到了相当多的关注。 - Salix alba
你在最后一步是如何应用阴影的? - Денис Степанов
如果我没记错的话,我只是从原始图像中应用了一个亮度校正因子(您可以注意到图片底部的白线在结果上仍然可见)。 - Gwen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接