openphotogrammetry / meshroomcl

MeshroomCL: An OpenCL implementation of photogrammetry with the Meshroom interface
Other
173 stars 8 forks source link

Using images in paths with non-ascii characters fails #17

Closed pgeorgi closed 3 years ago

pgeorgi commented 3 years ago

I added a bunch of images to MeshroomCL, pressed "start" and just got a red status on StructureFromMotionCL. Looking at the status message, I got the command that it tried to execute:

.\meshroomCL_StructureFromMotionCL  --input "C:/Users/Patrick/Documents/Meshroom/MeshroomCache/CameraInit/3afeeadb8548dc982dda91e9dacc72e04ad94259/cameraInit.sfm" --maxImageSize 3200 --DomainSizePooling True --GuidedMatching True --bundleAdjustmentQuality default --maxNumThreads 8 --cpuOnly False --OpenCLDevices False --output "C:/Users/Patrick/Documents/Meshroom/MeshroomCache/StructureFromMotionCL/fcfc61099f50f6a9411b327a3e4b369b625d155f/sfm.abc" --outputViewsAndPoses "C:/Users/Patrick/Documents/Meshroom/MeshroomCache/StructureFromMotionCL/fcfc61099f50f6a9411b327a3e4b369b625d155f/cameras.sfm" --extraInfoFolder "C:/Users/Patrick/Documents/Meshroom/MeshroomCache/StructureFromMotionCL/fcfc61099f50f6a9411b327a3e4b369b625d155f"

Calling that on a shell, I got

Traceback (most recent call last):
  File "StructureFromMotionCLbackend.py", line 41, in init new.StructureFromMotionCLbackend
  File "StructureFromMotionCLbackend.py", line 42, in new.StructureFromMotionCLbackend
  File "C:\Program Files\Python37\lib\json\__init__.py", line 293, in load
  File "C:\Program Files\Python37\lib\encodings\ascii.py", line 26, in decode
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 272: ordinal not in range(128)

Looking into the .../cameraInit.sfm file, I found that there's paths to the image files, and that they contain non-ASCII letters ("ß" in my case). Moving the files elsewhere and importing them again from there helped, but that was far from obvious.

revisionarian commented 3 years ago

Hi @pgeorgi, thanks for the detailed bug report. We are able to replicate the issue that you found, and will hopefully have it fixed soon in the next release of MeshroomCL!

revisionarian commented 3 years ago

This bug has been fixed in the latest release (MeshroomCL 0.7.3). Thanks, @pgeorgi, for bringing it to our attention!