首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用OpenCV可以进行3D扫描吗?

使用OpenCV可以进行3D扫描吗?
EN

Stack Overflow用户
提问于 2014-09-02 16:47:49
回答 3查看 10.2K关注 0票数 7

这是一个一般性的问题,我只是在寻找一个起点,而不是一个完整的解决方案。

我计划做一些3D扫描,意味着检查一个表面,并从它生成一个3D模型。AFAIK有两种方法:一种是用激光光栅扫描整个表面,另一种是用相机将网格投射到表面上(不确定使用这个网格的一张照片是足够还是需要做更多)。

我的问题是: OpenCV是否支持使用摄像头的第二种方法?如果是:涉及哪些类/函数?

欢迎所有提示:-)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-16 05:40:26

第二种方法需要一个投影仪和一个相机。还有第三类算法称为运动结构算法,它允许您从多个图像中捕获3D (稀疏点云)。稀疏的点云稍后可以使用多视图立体转换为密集的曲面,并且可以使用泊松曲面重建重建网格模型。虽然您可以使用OpenCV实现上述功能,但我建议您使用现有的软件。

稀疏三维重建

捆绑者:http://www.cs.cornell.edu/~snavely/bundler/

VisualSFM:http://ccwu.me/vsfm/

多视图立体声()

CMVS:http://www.di.ens.fr/cmvs/

融合:http://www.gris.informatik.tu-darmstadt.de/projects/multiscale-depthmap-fusion/

如果你可以使用带有图形处理器的机器,我强烈推荐VisualSFM,因为它集成了稀疏重建和多视图。

票数 6
EN

Stack Overflow用户

发布于 2015-01-23 04:13:48

看看Kanade,光流。

你基本上可以使用goodFeaturesToTrack在第1帧中找到特征,然后在第2帧中找到相同的特征。根据它们的位移,你可以找到深度或3D。

希望这能有所帮助!

票数 3
EN

Stack Overflow用户

发布于 2022-03-03 20:29:05

我做了一个立体视觉项目,虽然3d扫描不是目的,但校准文件是使用棋盘生成的。只是为了好玩,我把点云放进了第三方的3d建模软件中,虽然图像很糟糕,但你可以分辨出一些深度。相机的分辨率非常低,比如640x480。

所以我认为这是可能的,但你需要使用尽可能高的分辨率,你必须校准每个摄像头,并使用一个考虑到摄像头属性和两个摄像头之间距离的公式。

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

https://stackoverflow.com/questions/25619357

复制
相关文章

相似问题

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