zoukankan      html  css  js  c++  java
  • 通过ReconstructMe实现3D扫描

    • 实物3D建模  

      目前在3D游戏制作过程中,需要专业人士花几天甚至数星期的时间,借助于Autodesk 3ds Max和Maya等昂贵的软件工具制作3D模型、纹理和动画。游戏制作中经常使用一种方法,即设计师为人物模型构和道具构建一比一实体模型,然后利用坐标测量仪对模型创建数字化的虚拟版本。现在有一种更快速、廉价的方法:利用kinect等3D摄像头采集实物表面的3D形状,3D扫描后会形成一组点集,称为“点云”;然后在点云上构建一个光滑的3D表面,通过平滑处理、表面渲染后快速将实物“3D数字化”。

      微软研究院的KinectFusion技术允许用户手持Kinect在一定范围内走动,拍摄下周围景物的全貌,并可以实时地获取这些景物的三维模型,在短短几秒内借助这些三维模型生成虚拟的三维世界:

      Project Tango是谷歌公司的一项研究项目,2014年2月谷歌已经成功为该项目研发出了一款 Android手机原型机,配备了一系列摄像头、传感器和芯片,能实时为用户周围的环境进行3D建模。这样的三维模型可以成为多种应用的基础,例如在大型购物中心和其他室内空间向用户提供方向导航,帮助用户寻找某家商店或某个物体。除了绘制周围的3D场景外,Google 还指出,这项技术有无限宽广的应用场景,包括绘制3D地图,帮助盲人在陌生的地方导航;让人们能利用家中的环境玩拟真的3D游戏等。

    • ReconstructMe

      ReconstructMe是一款3D重建软件,能实时显示3D扫描模型的视觉效果,对于非商业用途是免费的。目前支持多种RGBD传感器:Which 3D sensors are supported by ReconstructMe?

      ReconstructMe performs the entire reconstruction in metric space. No need for freaky scaling attempts. The result can be exported to various CAD formats such as STL, OBJ, 3DS, and PLY.

      ReconstructMe is capable of capturing and processing the color information of the object being scanned, as long as the sensor provides the necessary color stream.
      下面是我手持奥比中光的RGBD传感器,扫描的办公桌3D模型(由于奥比中光Astra Pro型号的摄像头不能通过OpenNI 2接口获取彩色图像数据流:compatibility-astra-pro-and-openni2,因此只能得到单独的深度信息):
     
      扫描完毕后可以将模型保存为STL等格式的文件,导入到MeshLab等软件中进行处理

      如果能同时获取RGB图像和深度图像,就可以很简单的通过ReconstructMe构建自己的3D模型。只需要坐在合适的位置对着摄像头慢慢转一圈:
      下面使用Kinect1.0扫描了一个带颜色的模型,注意要勾选Colorize my reconstruction选项。

      将其保存为PLY文件,全名为多边形档案(Polygon File Format),它可以储存的包含颜色、透明度、表面法向量等属性。

      放大后可以看到带颜色的三维点云

    参考:

    《kinect应用开发实战:用最自然的方式与机器对话》 余涛

    ReconstructMe 3D扫描教程

    PLY格式介绍

    http://news.hexun.com/2016-11-02/186703437.html

    http://www.cnbeta.com/articles/503593.htm

    http://reconstructme.net/support-2/category-scanning/

  • 相关阅读:
    SSM-最新pom.xml
    maven项目中找不到Maven Dependencies解决办法
    模拟实现MyBatis中通过SQL反射实体类对象功能
    Maven
    多台服务器下同步文件夹数据(rsync+inotify)
    启动tomcat时,一直卡在Deploying web application directory这块的解决方案
    阿里云服务器排查带宽流量过大的程序
    计算并列排名的算法
    Bootstrap基础篇—常见的CSS类
    别再看Promise 了,尝试下自己用JS 封装实现任务队列。
  • 原文地址:https://www.cnblogs.com/21207-iHome/p/6289387.html
Copyright © 2011-2022 走看看