[發(fā)明專利]一種基于opensfm和three.js的結(jié)構(gòu)損傷信息更新三維顯示方法有效
| 申請?zhí)枺?/td> | 202110436230.2 | 申請日: | 2021-04-22 |
| 公開(公告)號: | CN113222905B | 公開(公告)日: | 2022-05-13 |
| 發(fā)明(設(shè)計)人: | 舒江鵬;周姝康;趙唯堅 | 申請(專利權(quán))人: | 浙江大學(xué) |
| 主分類號: | G06T7/00 | 分類號: | G06T7/00;G06T7/73;G06F16/957 |
| 代理公司: | 杭州求是專利事務(wù)所有限公司 33200 | 代理人: | 劉靜 |
| 地址: | 310058 浙江*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 opensfm three js 結(jié)構(gòu) 損傷 信息 更新 三維 顯示 方法 | ||
1.一種基于opensfm和three.js的結(jié)構(gòu)損傷信息更新三維顯示方法,其特征在于,具體包括如下步驟:
(1)選取具有損傷的目標(biāo)建筑物,圍繞建筑物全方位地拍攝目標(biāo)建筑物的圖片;找到建筑物上有損傷的位置,每處損傷需要拍攝多張圖片,并在多張圖片中選擇一張清晰的能顯示該處完整損傷的圖片來代表此處損傷,稱為代表性圖片;
(2)將步驟(1)獲取的圖片導(dǎo)入opensfm庫中進(jìn)行三維重建,得到目標(biāo)建筑物的稠密點(diǎn)云ply格式文件和opensfm自動生成的reconstruction.meshed.json文件,對稠密點(diǎn)云ply格式文件進(jìn)行下采樣和去噪得到building.ply文件,分割building.ply點(diǎn)云中損傷處的點(diǎn)云,得到損傷處點(diǎn)云ply文件以及去除損傷處點(diǎn)云的目標(biāo)建筑物整體點(diǎn)云文件building_new.ply,損傷處點(diǎn)云文件數(shù)量為損傷處數(shù)量;
(3)將步驟(2)中得到的building_new.ply文件和損傷處點(diǎn)云ply文件轉(zhuǎn)為json格式,得到點(diǎn)云json文件;
(4)改寫opensfm自帶的html文件,利用three.js實(shí)現(xiàn)三維渲染,包括如下子步驟:
(4.1)在opensfm自帶的html文件中添加步驟(3)得到的點(diǎn)云json文件的輸入框代碼,實(shí)現(xiàn)多個點(diǎn)云json文件能一同導(dǎo)入并成功顯示這些點(diǎn)云文件;
(4.2)在html文件的body模塊中編寫損傷個數(shù)數(shù)量的切換圖片按鈕代碼;
(4.3)在html文件的body模塊中編寫控制步驟(4.1)中導(dǎo)入的點(diǎn)云在瀏覽器上是否顯示的按鈕代碼,點(diǎn)云顯示按鈕數(shù)量等于損傷處點(diǎn)云文件數(shù)量,并用拍攝日期命名這些點(diǎn)云顯示按鈕;
(4.4)在html文件的script模塊中根據(jù)重建目標(biāo)建筑物的模型大小設(shè)置瀏覽器視角初始參數(shù);
(4.5)在html文件的script模塊中編寫代碼使得步驟(4.2)中代表性圖片與切換圖片按鈕關(guān)聯(lián),一張代表性圖片與一個切換圖片按鈕進(jìn)行關(guān)聯(lián),切換圖片按鈕順序根據(jù)關(guān)聯(lián)圖片拍攝時間順序排列,實(shí)現(xiàn)點(diǎn)擊切換圖片按鈕,瀏覽器上只顯示該處損傷圖片的功能;
(4.6)在html文件的script模塊中編寫代碼,將步驟(4.2)中的切換圖片按鈕與步驟(4.3)中點(diǎn)云顯示按鈕進(jìn)行關(guān)聯(lián),再將點(diǎn)云顯示按鈕與步驟(4.1)中損傷處點(diǎn)云文件一一關(guān)聯(lián),實(shí)現(xiàn)點(diǎn)擊步驟(4.2)中切換圖片按鈕控制點(diǎn)云顯示按鈕是否出現(xiàn)的功能;再編寫點(diǎn)擊點(diǎn)云顯示按鈕讓損傷處點(diǎn)云在瀏覽器上顯示,再次點(diǎn)擊按鈕讓點(diǎn)云消失的代碼;
(5)用瀏覽器打開步驟(4)改寫后的html文件,選取步驟(3)得到的多個點(diǎn)云json文件和步驟(2)中的reconstruction.meshed.json進(jìn)行導(dǎo)入,實(shí)現(xiàn)第一批損傷三維顯示;
(6)按照實(shí)際項目時間更新需求,在各個損傷處每隔一段時間拍攝圖片,拍攝完畢后將各個損傷處的圖片進(jìn)行歸類,一個損傷處的圖片為一類,將一個類別的圖片導(dǎo)入opensfm中進(jìn)行三維重建獲得新的點(diǎn)云ply文件,將得到的損傷處新點(diǎn)云ply文件與步驟(2)中的building.ply文件進(jìn)行點(diǎn)云配準(zhǔn),得到位置大小調(diào)整正確后的損傷處新點(diǎn)云文件,并將位置大小調(diào)整正確后的損傷處新點(diǎn)云ply文件分別導(dǎo)入步驟(3)的ply格式轉(zhuǎn)json格式的代碼中得到新點(diǎn)云json文件;
(7)在html文件的body模塊中編寫控制步驟(6)中導(dǎo)入的新點(diǎn)云在瀏覽器上是否顯示的按鈕,按鈕數(shù)量等于損傷處新點(diǎn)云文件數(shù)量,并用步驟(6)中拍攝日期命名這些新點(diǎn)云顯示按鈕,每個新點(diǎn)云顯示按鈕按照時間先后分別排列在步驟(4.3)按鈕的后面;
(8)將步驟(7)中新點(diǎn)云顯示按鈕與步驟(6)得到的json文件根據(jù)損傷位置一一關(guān)聯(lián),再編寫點(diǎn)擊步驟(7)中新點(diǎn)云顯示按鈕讓損傷處新點(diǎn)云在瀏覽器上顯示、再次點(diǎn)擊按鈕讓點(diǎn)云消失的代碼;
(9)按照項目實(shí)際需要不定期重復(fù)步驟(6)-(8),每重復(fù)一次,就能得到一個最新的html文件;
(10)用瀏覽器打開步驟(9)改寫完畢后最新的html文件,選取前面步驟所有點(diǎn)云json文件和步驟(2)中的reconstruction.meshed.json進(jìn)行導(dǎo)入,實(shí)現(xiàn)多批次損傷三維顯示。
2.根據(jù)權(quán)利要求1所述的一種基于opensfm和three.js的結(jié)構(gòu)損傷信息更新三維顯示方法,其特征在于,步驟(4.2)中,所有切換圖片按鈕在網(wǎng)頁左上角全部顯示。
3.根據(jù)權(quán)利要求1所述的一種基于opensfm和three.js的結(jié)構(gòu)損傷信息更新三維顯示方法,其特征在于,步驟(4.3)中,在html文件的style模塊中添加顯示在瀏覽器上的損傷圖片樣式、按鈕樣式和字體樣式,點(diǎn)云顯示按鈕在網(wǎng)頁左上角根據(jù)關(guān)聯(lián)圖片拍攝時間順序上下排列。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浙江大學(xué),未經(jīng)浙江大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110436230.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- JS文件處理方法和裝置
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 一種JS代碼的測試方法、存儲介質(zhì)、設(shè)備和系統(tǒng)
- 分布式的JS文件篡改監(jiān)控方法、系統(tǒng)、設(shè)備及存儲介質(zhì)
- 在IOS應(yīng)用內(nèi)調(diào)用函數(shù)的方法及系統(tǒng)
- 一種可擴(kuò)展的游戲構(gòu)建方法、游戲運(yùn)行方法和存儲介質(zhì)
- 一種提高腳本的加載效率的方法及終端
- 一種應(yīng)用程序依賴的JS代碼與原生庫兼容的方法及終端
- JS代碼防重復(fù)注入方法、裝置、計算機(jī)設(shè)備及存儲介質(zhì)
- 原生應(yīng)用調(diào)用JS的方法、裝置、電子設(shè)備及存儲介質(zhì)





