这是一个普遍的问题,我只是在寻找一个起点,而不是一个完整的解决方案。
我计划进行一些 3D 扫描,这意味着检查表面并从中生成 3D 模型。 AFAIK 有两种方法:一种使用激光光栅扫描整个表面,另一种使用相机在表面上投影网格(不确定带有此网格的一张图片是否足够,或者是否需要更多完毕)。
我的问题:OpenCV 是否支持使用相机的第二种方法?如果是:涉及哪些类/函数?
欢迎所有提示:-)
最佳答案
第二种方法需要投影仪和相机。还有第三类算法,称为结构自运动,它允许您从多个图像中捕获 3D(稀疏点云)。稍后可以使用多 View 立体将稀疏点云转换为密集表面,并且可以使用泊松表面重建来重建网格模型。虽然您可以使用 OpenCV 实现上述内容,但我会推荐现有软件。
稀疏 3D 重建
捆绑器:http://www.cs.cornell.edu/~snavely/bundler/
VisualSFM : http://ccwu.me/vsfm/
多 View 立体 (MVS)
CMVS : http://www.di.ens.fr/cmvs/
融合:http://www.gris.informatik.tu-darmstadt.de/projects/multiscale-depthmap-fusion/
如果您可以使用带有 GPU 的机器,我强烈推荐 VisualSFM,因为它将稀疏重建与 MVS 集成在一起。
关于opencv - 使用 OpenCV 可以进行 3D 扫描吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25619357/