openMVG openMVS的學習和編譯

2021-08-21 07:28:33 字數 1747 閱讀 7025

openmvs-openmvg是目前的三維重建的框架中,復原效果最好的;而且提供自動化的指令碼,使用起來也不是很難,目前還沒有對其中的原理進行深入的研究,僅從其在三維重建的過程做一下說明;

這裡需要注意的是,在進行cmake的時候,注意後面的-dvcg_root="$main_path/vcglib",vcglib是編譯openmvs所需要的所需要的庫之一,將其路徑加上去,才能正確的編譯,cmake以後,後面就是一路的make和make install;安裝完成以後,下面開始我們的三維重建之旅;

:放置**組的資料夾;

:/openmvg/src/openmvg/exif/sensor_width_database/sensor_width_camera_database.txt,一般都是這個目錄,記得將我們的相機的引數新增進去,注意格式;

:輸出的目錄;

1. openmvg_main_sfminit_imagelisting -i -d -o :

2. openmvg_main_computefeatures -i /sfm_data.json -o :

3. openmvg_main_computematches -i /sfm_data.json -o :

4. openmvg_main_incrementalsfm -i /sfm_data.json -m -o /reconstruction

注意:/reconstration 後面的reconstruction這是我們自定義的資料夾;

5. openmvg_main_computesfm_datacolor -i /reconstrution/sfm_data.bin -o /colored.ply:

注意這裡的colored.ply是自己命名的檔案但是必須要以.ply為字尾;

6. openmvg_main_computestructurefromknownposes -i /reconstrution/sfm_data.bin -m . -o /reconstrution/robust.bin -f /matches.f.bin:

注意:這裡的robust.bin是我們自己命令的檔案,但是必須以.bin為字尾名;

好,下面是openmvs的步驟了,在使用openmvs之前,還需要進行一步:

7. openmvg_main_openmvg2openmvs -i /reconstrution/robust.bin -o scene.mvs

注意:這裡的scene.mvs,檔案是我們自己命名的;

8. densifypointcloud scene.mvs

9. reconstructmesh -d 4 scene_dense.mvs;

注意:scene_dense自己命名;目前不需要理解引數的意思,需要理解不加後面的引數,直接執行,會有usage;

10. refinemesh --resolution-level=4 scene_dense_mesh.mvs

11. texturemesh scene_dense_mesh_refine.mvs

注意以上的openmvs可執行檔案生成在openmvs/openmvs_build/bin/,這裡的openmvs_build是自己的明林的build

資料夾;如果提示沒有以上的幾個命令,就去這個資料夾裡面去找;

好了到這裡基本就完成了,然後使用mashlab開啟/reconstration/scene_dense_mesh_texture.ply;

可以重建後的模型;後續大家有什麼好的意見也可以提出;

container of 的的的原理

另外一篇,同樣精彩,揭開linux核心中container of的神秘面紗 華清遠見嵌入式學院講師。在linux 核心中有乙個大名鼎鼎的巨集container of 這個巨集是用來幹嘛的呢?我們先來看看它在核心中是怎樣定義的。呵呵,乍一看不知道是什麼東東。我們先來分析一下container of p...

存在的就是合理的,發生的即是必然的。

筆者有時候會想,什麼是對,什麼是錯?對於追求某一件事情之前首先會考慮,為什麼我要做這件事情。所以經過自我分析和生活周邊環境的總結。我認為,對於乙個人來,這是在站在個體的角度上說。什麼是對的?就是你自己覺得是對的,它就是對的。不過這個只是你自己的想法。主觀上的正確,不代表客觀上也受到了別人的認可。就拿...

Apache的rewrite的重寫相關的引數

apache mod rewrite規則重寫的標誌一覽 使用mod rewrite時常用的伺服器變數 rewriterule規則表示式的說明 匹配任何單字元 chars 匹配字串 chars chars 不匹配字串 chars text1 text2 可選擇的字串 text1或text2 匹配0到1...