码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • VisualSFM的配置与使用 & MeshLab的网格生成与纹理添加


    前言

    本实验环境如下:

    VisualSFM版本V0.5.26

    MeshLab版本2022.02

    操作系统Windows10,64bit

    0 VisualSFM配置

    0.1 下载

    VisualSFM下载链接:VisualSFM : A Visual Structure from Motion System

    Cmvs-Pmvs下载链接:GitHub - pmoulon/CMVS-PMVS: This softwC

    MeshLab下载链接:MeshLab

    CSDN下载:基于图形的三维重建软件:VisualSFM(可直接使用)和MeshLab安装包2022.02:

    基于图形的三维重建软件:VisualSFM(可直接使用)和MeshLab安装包2022.02

    0.2 配置

    将CMVS-PMVS-master进行解压,将CMVS-PMVS-master\binariesWin-Linux\Win64-VS2010下的所有文件(可以不要Readme.txt文件)复制到VisualSFM_windows_cuda_64bit下即可使用。 

    复制到VisualSFM_windows_cuda_64bit下后: 

    1 照片数据获取

    以待重建的对象为中心,围着它每转一定角度拍一张,这样转一圈,有不同高度信息更好。VisualSFM没有照片数量限制,照片越多,重建出的细节越丰富,但重建过程花费时间越长。(注:运行VisualSFM后,图像文件同级目录下会有mat、sift格式文件,这些是生成的一些包含特征点、场景信息等数据的文件。)

    例如:本实验数据为47张桌子上的柿子图片,每张图片大小约10M,6144*8192像素。

    2 VisualSFM的使用

    点击VisualSFM.exe。

    2.1 导入图像。

    2.1.1 点击。

     2.1.2 选择需要导入的图像,图像读入需要一定时间,请稍等。

    2.2 图像配准

    2.2.1 点击按钮“Compute Missing Matches”。进行SIFT特征点检测和匹配。因照片可能存在旋转、缩放或亮度变化,此过程利用SIFT算法提取、描述特征,用 RANSAC算法过滤掉误匹配。此过程亦可利用GPU加速。

     

     2.2.2 工作状态实时显示在侧边的log窗口。

    2.3 利用SFM进行稀疏3D重建

    2.3.1 点击按钮“Compute 3D Reconstruction”。利用 SFM 方法,通过迭代求解出相机参数和三维点坐标。即重建出3D模型的稀疏点云。若有“bad”相机(位置错误或朝向错误),结合工具栏上的“3+”按钮和手型按钮即可删除之,使结果更准确。

     

     2.3.2重建结果

     2.4 利用CMVS/PMVS进行稠密3D重建

     2.4.1 点击按钮“Run Dense Reconstruction”。通过 CMVS 对照片进行聚类,以减少稠密重建数据量,而后利用PMVS从3D模型的稀疏点云开始,在局部光度一致性和全局可见性约束下,经过匹配、扩散、过滤生成带真实颜色的稠密点云。

     2.4.2 选择一个文件夹用于放置将要创建的模型(最好新建一个文件夹),对3D模型文件命名,点击保存。

    2.4.3  运行过程中需要耐心等待,可能时间较长。本实验运行61.117 min。

     

    2.4.4 运行结束后的模型保存文件夹下的内容。

     至此,VisualSFM的工作就完成了。若图片匹配失败或图片较少导致某区域重建细节不足,可以返回添加一些这个区域的照片,重新操作。因为特征检测和匹配的结果已保存(每张图像对应的.sift 和 .mat文件都已经生成),所以已匹配好的图像不必再次匹配,操作会更快完成。

    3 MeshLab的使用

    3.1导入项目文件

    3.1.1 点击坐标Open project。 

     3.1.2 打开由VisualSFM生成的存储在xx.nvm.cmvs文件夹下的bundle.rd.out 文件。

    3.1.3 随后会询问是否选择照片列表文件,选择同文件夹下的 “list.txt”即可。 

     
    3.1.4 稍等片刻,便可以显示点云数据。

    3.2 打开显示层目录

    3.2.1 点击,右侧即可显示层目录。

     

    3.3 加载稠密点云

    3.3.1 点击File –>Import Mesh加载稠密点云(xx/00/models/option-0000.ply);VisualSFM生成多个.ply文件时,需合并成一个mesh。在载入的任何一个.ply上右键选“Flatter Visible Layers”。

    3.3.2 点击眼睛,使其闭眼,可隐藏可视的稀疏点云;

    3.4  清除杂点

    3.4.1 点击按钮。

    3.4.2 选中待清除区域。注意:这时我们右边的图层中应该选中的是刚打开的稠密点云.ply,按着Ctrl键,可以一次性选中多个待清除区域。

     3.4.3 点击 就可以清除多余点云(噪点)。 

    3.5 网格化

    3.5.1 点击Filters->Remeshing, Simplification and Reconstruction->Surface Reconstruction:Screened Poisson。注意:这时我们右边的图层中应该选中的是稠密点云.ply

    利用Poisson Surface Reconstruction算法由稠密点云生成多边形网格表面。参数可调, Octree Depth:控制着网格的细节,此值越大细节越丰富但占内存越大运行起来慢,一般设10,可慢慢调大。

    3.5.2 Poisson表面重建算法会生成多余区域甚至可能会是一个“不漏水”气泡,把所有场景对象包裹在其中,即模型是封闭的。这时需要清除杂点的相同操作,去除多余区域。

    去除后的效果图如下: 

     

    3.6 修复流形边缘

    3.6.1 后续的纹理处理要求网格化的模型必须是流形(MANIFOLD)的,因此需删除非流形边(简单讲就是任何由多面共享的边)。Filters–> Selection –> Select Non-Manifold edges,如果没有显示出,就说明没有,可以直接进行下一步。有的话,删除之。

    3.7 生成纹理

    3.7.1 点击Filter –> Texturing –>Parameterization + texturing from registered rasters.可设置任意分辨率(512的2的二次方倍:512 /1024 / 2048 / 4096 / 8192…)的纹理图。

     

    3.7.2 点击Vert显示,关闭其它方式的显示效果。最终效果如下图。

    3.8 完成、导出

    当你调整满意了之后,File –> Export mesh as… a .obj文件。可以生成一个包含你选定分辨率纹理的obj文件。

    参考链接 

    Windows下使用VisualSFM + CMVS/PMVS + MeshLab进行三维重建_黑糖梅子酒的博客Windows下使用VisualSFM + CMVS/PMVS +MeshLab进行三维重建参考文档:VisualSFM和Meshlab实现三维重建过程:http://planckscale.info/tag/visualsfm/(十分感谢)数据集:三维重建数据集:http://vision.ia.ac.cn/zh/data/index.html一、简介要想了解https://blog.csdn.net/moneyhoney123/article/details/78454837?spm=1001.2101.3001.6650.4&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-78454837-blog-45032469.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-4-78454837-blog-45032469.pc_relevant_default&utm_relevant_index=5初次尝试使用VisualSFM记录_啊吼!的博客    对于SFM一直觉得高大上又神秘,一年前粗略的了解过一下,今年有时间尝试深入了解SFM,对于初学者来说,VisualSFM真的时非常好的感受SFM的免费软件,于是通过其他博客的指导(没去看官方的英文版,容易犯困),做了一个3D模型出来,感觉还挺好玩,记录一下。    实际上,VisualSFM只做了一部分工作,优化是用MeshLab做的,所以分两个环节:     1.VisualSF...https://blog.csdn.net/xujie126/article/details/83108669?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-83108669-blog-45032469.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-1-83108669-blog-45032469.pc_relevant_default&utm_relevant_index=2
    【油管搬运】免费照片3D软件 VisualSFM 和 Meshlab工作流程_哔哩哔哩_bilibiliwww.youtube.com【教学】免费照片3D软件 VisualSFM 和 Meshlab工作流程(油管搬运), 视频播放量 2937、弹幕量 3、点赞数 39、投硬币枚数 10、收藏人数 136、转发人数 37, 视频作者 湿身的绛州司马, 作者简介 学考古的,相关视频:使用 VisualSFM and Meshlab通过扫描照片构建三维模型(Free Photo Scanning Workflow),从照片到3D模型-三维重建VisualSFM+CMVS+MeshLab工作流,如何正当免费地获取Fusion 360建模软件,SoftMax软件中Workflow工作流程的设置,Meshlab软件中3D点云网格化的三种方法,开源3D重构软件Meshroom -通过手机照片直接生成3D模型,用照片直接生成三维模型,速度快,还免费,3D建模软件,全套3D游戏建模软件安装3Dmax下载安装,maya下载,zbrush,SP,八猴,Mari,MD,QS,RizomUV,DAZ,Wrap安装,Megascans正版免费海量照片级贴图资源库一键导入C4D方法大公开!,辣椒:史上最良心!(免费无需root找回率高)安卓手机回收站误删照片相册找回教程(简单方便)方法全网首发!多款软件保证能用!https://www.bilibili.com/video/BV1Fx41167Su/?spm_id_from=333.337.search-card.all.click&vd_source=5212838c127b01db69dcc8b2d27ca517

  • 相关阅读:
    R语言使用fs包的file_move函数对指定文件进行重命名(rename)、使用file_move函数将指定文件从一个位置拷贝(copy)到另一个位置
    MyBatis的各种查询功能
    光学测量精度极限—光谱共焦位移传感器的六大行业应用
    小玩意 - 一篇带你玩转 SpringBoot 钉钉机器人
    Go实现MapReduce
    ps安装遇到问题
    zabbix自定义监控、钉钉、邮箱报警
    深入理解TDD(测试驱动开发):提升代码质量的利器!
    深入理解红黑树
    牛客 -------- 合并二叉树
  • 原文地址:https://blog.csdn.net/weixin_43042683/article/details/127930496
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号