cdcseacave/openMVS

error: opening file 'D:\repo\openMVS\test\texture.mvs' while use MvsReadMVS.py

JV-X opened this issue · 4 comments

JV-X commented

Describe the bug
I am trying to extract the camera pose and point cloud from the result generated by TextureMesh. I executed python .\MvsReadMVS.py -i D:\repo\openMVS\test\texture.mvs -o D:\repo\openMVS\test\texture.json in the script\python directory, but got an error "error: opening file 'D:\repo\openMVS\test\texture.mvs'". I added breakpoint debugging and found that the reason was that the archive_type variable value parsed was MVS\x00, which resulted in the failure to pass the if archive_type != 'MVSI' judgment in line 78 of the code in MvsUtils.py.If I manually change if archive_type != 'MVSI' to if archive_type != 'MVS\x00' , I get a MemoryError.
I don't know where the problem is. Can you provide some help?

really appriciate.

To Reproduce

  1. Execute the following commands in sequence:
    InterfaceCOLMAP -w D:\repo\openMVS_sample\test -i D:\repo\openMVS_sample\test -o scene.mvs
    DensifyPointCloud -w D:\repo\openMVS_sample\test -i scene.mvs -o test_dense.mvs
    ReconstructMesh -w D:\repo\openMVS_sample\test -i test_dense.mvs -o mesh.mvs
    RefineMesh -w D:\repo\openMVS_sample\test -i mesh.mvs -o refinemesh.mvs
    TextureMesh -w D:\repo\openMVS_sample\test -i refinemesh.mvs -o texture.mvs
  2. Copy texture.mvs to the openMVS\test folder (need to create the test folder manually)
  3. Enter the scripts\python directory
  4. Execute python .\MvsReadMVS.py -i D:\repo\openMVS\test\texture.mvs -o D:\repo\openMVS\test\texture.json

Expected behavior
The MvsReadMVS.py script correctly generates the texture.json file, which contains the camera pose and point cloud data.

Screenshots
1717137600941

after I change if archive_type != 'MVSI' to if archive_type != 'MVS\x00' manually:

1717137671247

Desktop (please complete the following information):

  • windows11 with core i7-14700F(without GraphicsCard)
  • Chrome

Use the initial mvs file (not after texture) or use latest develop branch

JV-X commented

Use the initial mvs file (not after texture) or use latest develop branch

thanks for your reply,I can generates the json file now.

JV-X commented

one more question, the initial MVS file(scene.mvs) contains a sparse point cloud. If I want to obtain a point cloud after dense reconstruction, what should I do?

one more question, the initial MVS file(scene.mvs) contains a sparse point cloud. If I want to obtain a point cloud after dense reconstruction, what should I do? I tried running python .\MvsReadMVS.py -i D:\repo\openMVS\test\test_dense.mvs -o D:\repo\openMVS\test\texture.json, but I only got an error.