由Blender教程中大家熟悉的Gleb Alexandrov氏制作的,
用于免费(0元)进行3D照片扫描的工作流程介绍视频「Free Photo Scanning Workflow!」已公开!值得关注!
Free Photo Scanning Workflow! (VisualSFM and Meshlab)
视频中可确认的流程简要说明+建议
- 0.准备扫描对象
用纸模型制作了千年隼并埋在沙子里。
TIPS:作为3D照片扫描的要点,理想的拍摄对象是不带光泽、没有反光的物体。如果可能,使用可清洗的消光喷雾等会比较好。
- 1.拍摄对象的50~200张照片
拍摄了74张照片 视频中使用的是Canon 650D 18-55镜头。
Quick Tip :用于多个图像缩放批处理时,使用名为「picresize.com」的服务也许不错。
TIPS:如果所有照片都能保持相同曝光,并通过布光消除阴影,就会更容易导入。
- 2.下载免费软件 VisualSFM、CMVS-PMVS 、MeshLab
- 3.安装软件 VisualSFM、CMVS-PMVS 、MeshLab
※需要将CMVS-PMVS对应文件复制到VisualSFM文件夹内
- 4.在VisualSFM中进行图像匹配
从Open Multiple Images读取全部拍摄照片,执行Compute Missing Matches,然后喝杯咖啡……
- 5.重建稀疏点云
通过SFM→Reconstruct Sparse可实时构建稀疏点云。会花一些时间。喝杯咖啡……
- 6.重建高密度点云
通过SFM→Reconstruct Dense创建文件夹后保存。会花相当多时间。喝杯咖啡……去洗个澡等一会儿吧。
Quick Tip : 如果在此阶段出现问题,请重新确认从步骤2开始的教程。
计算结束后,可通过View→Dense 3D Ponts确认高密度点云。
- 7.在MeshLab中生成几何体
从File→Open Project..选择nvm文件。
显示Show Layer Dialog(Ctrl+L)
使用Select Vertexes选择点,并通过Delete the current set of selected vertixed删除不需要的点
从File→Inport Mesh读取ply文件
从Select Vertexes删除不需要的点
选择Filter→Pojnt Set→Surface Reconstruction: Poisson
设置:Octree Depth 12,Solver Divide 7,然后Apply生成网格。计算中稍微休息一下
在Layer中选择PoissonMesh并删除不需要的面
- 8.在MeshLab中简化几何体
切换为线框显示
Filter→Remeshing~→Quadric Edge Collapse Decimation
设置:在Target number of faces中指定70万,然后Apply
Filter→Cleaning and Repairing→Remove Faces from Non Manifold Edges
- 9.在MeshLab中生成纹理
Filter→Texture→Parameterization + Texturing from registered rasters
设置:Texture Size 8192,指定Texture name后Apply,计算结束后Close
显示视口中的纹理
File→Export Mesh As 选择Obj格式,取消Normal勾选后保存
在此阶段模型扫描结束!
- 10~14.从Blender中的场景构建到渲染
这里是Blender专用的操作,因此省略说明。详情请观看视频。
※设置数值仅为本教程中的一个示例。实际纳入自己的流程时,需要寻找合适的数值。
※根据PC性能不同,点云计算等处理可能会花费较长时间。
使用的免费软件
- VisualSFM – 用于照片扫描的免费GUI应用程序。
- CMVS-PMVS – 与VisualSFM结合使用。
该软件(CMVS)以结构从运动(SFM)软件的输出作为输入,然后将输入图像拆分为一组易于管理大小的图像集群。 - MeshLab – 用于编辑非结构化3D网格的开源软件。
- Blender – 免费且开源的3D综合应用程序
当然还需要相机。
可从下方链接下载Blender的项目文件。
大家也开始3D照片扫描吧!