[发明专利]一种基于opensfm和three.js的结构损伤信息更新三维显示方法有效
申请号: | 202110436230.2 | 申请日: | 2021-04-22 |
公开(公告)号: | CN113222905B | 公开(公告)日: | 2022-05-13 |
发明(设计)人: | 舒江鹏;周姝康;赵唯坚 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06T7/73;G06F16/957 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 310058 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 opensfm three js 结构 损伤 信息 更新 三维 显示 方法 | ||
1.一种基于opensfm和three.js的结构损伤信息更新三维显示方法,其特征在于,具体包括如下步骤:
(1)选取具有损伤的目标建筑物,围绕建筑物全方位地拍摄目标建筑物的图片;找到建筑物上有损伤的位置,每处损伤需要拍摄多张图片,并在多张图片中选择一张清晰的能显示该处完整损伤的图片来代表此处损伤,称为代表性图片;
(2)将步骤(1)获取的图片导入opensfm库中进行三维重建,得到目标建筑物的稠密点云ply格式文件和opensfm自动生成的reconstruction.meshed.json文件,对稠密点云ply格式文件进行下采样和去噪得到building.ply文件,分割building.ply点云中损伤处的点云,得到损伤处点云ply文件以及去除损伤处点云的目标建筑物整体点云文件building_new.ply,损伤处点云文件数量为损伤处数量;
(3)将步骤(2)中得到的building_new.ply文件和损伤处点云ply文件转为json格式,得到点云json文件;
(4)改写opensfm自带的html文件,利用three.js实现三维渲染,包括如下子步骤:
(4.1)在opensfm自带的html文件中添加步骤(3)得到的点云json文件的输入框代码,实现多个点云json文件能一同导入并成功显示这些点云文件;
(4.2)在html文件的body模块中编写损伤个数数量的切换图片按钮代码;
(4.3)在html文件的body模块中编写控制步骤(4.1)中导入的点云在浏览器上是否显示的按钮代码,点云显示按钮数量等于损伤处点云文件数量,并用拍摄日期命名这些点云显示按钮;
(4.4)在html文件的script模块中根据重建目标建筑物的模型大小设置浏览器视角初始参数;
(4.5)在html文件的script模块中编写代码使得步骤(4.2)中代表性图片与切换图片按钮关联,一张代表性图片与一个切换图片按钮进行关联,切换图片按钮顺序根据关联图片拍摄时间顺序排列,实现点击切换图片按钮,浏览器上只显示该处损伤图片的功能;
(4.6)在html文件的script模块中编写代码,将步骤(4.2)中的切换图片按钮与步骤(4.3)中点云显示按钮进行关联,再将点云显示按钮与步骤(4.1)中损伤处点云文件一一关联,实现点击步骤(4.2)中切换图片按钮控制点云显示按钮是否出现的功能;再编写点击点云显示按钮让损伤处点云在浏览器上显示,再次点击按钮让点云消失的代码;
(5)用浏览器打开步骤(4)改写后的html文件,选取步骤(3)得到的多个点云json文件和步骤(2)中的reconstruction.meshed.json进行导入,实现第一批损伤三维显示;
(6)按照实际项目时间更新需求,在各个损伤处每隔一段时间拍摄图片,拍摄完毕后将各个损伤处的图片进行归类,一个损伤处的图片为一类,将一个类别的图片导入opensfm中进行三维重建获得新的点云ply文件,将得到的损伤处新点云ply文件与步骤(2)中的building.ply文件进行点云配准,得到位置大小调整正确后的损伤处新点云文件,并将位置大小调整正确后的损伤处新点云ply文件分别导入步骤(3)的ply格式转json格式的代码中得到新点云json文件;
(7)在html文件的body模块中编写控制步骤(6)中导入的新点云在浏览器上是否显示的按钮,按钮数量等于损伤处新点云文件数量,并用步骤(6)中拍摄日期命名这些新点云显示按钮,每个新点云显示按钮按照时间先后分别排列在步骤(4.3)按钮的后面;
(8)将步骤(7)中新点云显示按钮与步骤(6)得到的json文件根据损伤位置一一关联,再编写点击步骤(7)中新点云显示按钮让损伤处新点云在浏览器上显示、再次点击按钮让点云消失的代码;
(9)按照项目实际需要不定期重复步骤(6)-(8),每重复一次,就能得到一个最新的html文件;
(10)用浏览器打开步骤(9)改写完毕后最新的html文件,选取前面步骤所有点云json文件和步骤(2)中的reconstruction.meshed.json进行导入,实现多批次损伤三维显示。
2.根据权利要求1所述的一种基于opensfm和three.js的结构损伤信息更新三维显示方法,其特征在于,步骤(4.2)中,所有切换图片按钮在网页左上角全部显示。
3.根据权利要求1所述的一种基于opensfm和three.js的结构损伤信息更新三维显示方法,其特征在于,步骤(4.3)中,在html文件的style模块中添加显示在浏览器上的损伤图片样式、按钮样式和字体样式,点云显示按钮在网页左上角根据关联图片拍摄时间顺序上下排列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110436230.2/1.html,转载请声明来源钻瓜专利网。