最近,我不得不在这两周内做一个多视图三维扫描的项目,我搜索了所有的书籍,期刊和网站的三维重建,包括数学作品的例子等。我写了一个代码来跟踪两个图像之间的匹配点,并将它们重建为3D图。但是,尽管使用了detectSURFFeatures()和extractFeatures()函数,仍有一些对象点未被跟踪。我如何在我的3D模型中也重建它们?
发布于 2014-04-17 05:28:47
你正在寻找的东西被称为“密集重构”。要做到这一点,最好的方法是使用校准相机。然后你可以校正图像,计算每个像素的视差(理论上),然后得到每个像素的3D世界坐标。请查看此Stereo Calibration and Scene Reconstruction示例。
发布于 2017-09-28 07:56:25
您使用的跟踪方法很好,但只能得到稀疏的对应关系。这个想法是,您将使用这些中的最好的,以尝试确定两个图像之间的相机方向的差异。然后,您可以使用相机方向来获得更好的匹配,并最终生成可用于生成深度图像的密集匹配。
从一帧到另一帧跟踪图像中的每个点是很困难的(它被称为场景流),而且你不会通过识别单个特征(如冲浪、ORB、Freak、SIFT等)来实现它。因为根据定义,这些特征是“特殊的”,因为它们可以在图像之间清晰地识别。
发布于 2017-11-10 18:54:45
如果你有权使用Matlab的计算机视觉工具箱,你可以使用它们的匹配函数。例如,您可以从查看这篇关于disparity和相关matlab函数的文章开始。
此外,您还可以了解不同的匹配技术,如块匹配、半全局块匹配和全局优化过程。仅举几个关键字。但请注意,立体匹配的主题是一个巨大的主题。
https://stackoverflow.com/questions/23002738
复制相似问题