cdcseacave / openMVS

open Multi-View Stereo reconstruction library
http://cdcseacave.github.io
GNU Affero General Public License v3.0
3.28k stars 901 forks source link

DensifyPointCloud.exe error #158

Open jingzibelieve opened 7 years ago

jingzibelieve commented 7 years ago

08:27:15 [App ] Build date: Dec 12 2016, 09:41:39 08:27:15 [App ] CPU: Intel(R) Core(TM) i5-2300 CPU @ 2.80GHz 08:27:15 [App ] RAM: 3.98GB Physical Memory 8.00TB Virtual Memory 08:27:15 [App ] OS: Windows 7 (SP1) x64 08:27:15 [App ] SSE & AVX compatible CPU & OS detected 08:27:15 [App ] Command line: D:\openMVG\MVS_OUT\scene.mvs 08:27:15 [App ] Camera model loaded: platform 0; camera 0; f 1.055x1.055; poses 11 08:27:15 [IO ] error: unknown image format 'D:/openMVG/MVS_OUT/reconstruction/100_7100.JPG' 08:27:15 [App ] error: failed loading image header 08:27:15 [App ] error: failed reloading image 'D:/openMVG/MVS_OUT/reconstruction/100_7100.JPG' 08:27:15 [App ] error: invalid project

how to solve the problem?

riyueshi commented 7 years ago

It seems that your images are not in the path you specified or your image extensions is upper case letter the programs can not recognise it, try '.jpg' instead of 'JPG'

jingzibelieve commented 7 years ago

I've tried it, and it's still going to be wrong.

riyueshi commented 7 years ago

Did you build the software from source code? Maybe the jpeg lib your project dependent is not correctly integrated to your project (you can use the jpeg lib in openCV or openMVG, and make sure the lib version(debug or release x86 or x64) is the same as your openMVS project), you can also try this pre-built binaries

jingzibelieve commented 7 years ago

I use git to download the openMVS source code directly

jingzibelieve commented 7 years ago

The version of the JPEG class library of openMVG and openVC is the same

riyueshi commented 7 years ago

Maybe you can convert all your images to another format (.tif or .png), and run the pipeline again

jingzibelieve commented 7 years ago

That won't work.

silenceofcode commented 7 years ago

do you solve this problem?i have the same question with you .if you work it out please help me.

silenceofcode commented 7 years ago

@jingzibelieve

silenceofcode commented 7 years ago

can you tell me how to solve it ?thank you @jingzibelieve

silenceofcode commented 7 years ago

hello i really don't know how to deal with it ,i hope you can help me ! @jingzibelieve

huetor commented 7 years ago

Open the VisualSFM nV match file (.nvm) in a text editor and check that path to your image files is relative (not absolute). Have not found out why but sometimes VisualSFM seems to use absolute paths instead of relative paths. OpenMVS expects relative paths.

cdcseacave commented 7 years ago

thx @huetor ! In order to fix this problem, you can replace MAKE_PATH_FULL(WORKING_FOLDER_FULL, image.name); with MAKE_PATH_SAFE(image.name);

myself I do not have much used VisualSFM, but be careful with it, as some people had problems with it: https://pfalkingham.wordpress.com/2017/05/26/photogrammetry-testing-11-visualsfm-openmvs/

slowly77 commented 5 years ago

have you solved this problem,I also meet this error: unknown image format 'D:/openmvs/build/openmvs/bin/vc14/x64/Release/undistorted_images/100_7100.JPG' i don't know how to deal with it

HayatoTomita commented 5 years ago

I met same problem in Viewer projects, but I have solved it. openMVS projects use libjpeg which find by IO Cmake. I checked JPEG_INCLUDE_DIR and JPEG_LIBRARY in my CMakeCache file.

//Path to a file.
JPEG_INCLUDE_DIR:PATH=/Library/Frameworks/Mono.framework/Headers

//Path to a library.
JPEG_LIBRARY_DEBUG:FILEPATH=JPEG_LIBRARY_DEBUG-NOTFOUND

//Path to a library.
JPEG_LIBRARY_RELEASE:FILEPATH=/usr/local/lib/libjpeg.dylib

Then I checked their version.

> otool -L /usr/local/lib/libjpeg.dylib                                                                                                           []
/usr/local/lib/libjpeg.dylib:
    /usr/local/opt/jpeg/lib/libjpeg.9.dylib (compatibility version 13.0.0, current version 13.0.0)
    /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.0.0)

> cat /Library/Frameworks/Mono.framework/Headers/jpeglib.h | grep VERSION                                                                         []
 * Might be useful for tests like "#if JPEG_LIB_VERSION >= 80".
#define JPEG_LIB_VERSION  80    /* Version 8.0 */
    jpeg_CreateCompress((cinfo), JPEG_LIB_VERSION, \
    jpeg_CreateDecompress((cinfo), JPEG_LIB_VERSION, \

Lib file version is 9, but header file version is 8. I want to use jpg header file in /usr/local/include/, so i changed header search path in xcode project file. I have been able to use Viewer app correctly.

Do you have any idea for improve find jpg in IO cmake file ? thx.

takeru commented 1 year ago

https://github.com/cdcseacave/openMVS/search?q=%22unknown+image+format%22

I renamed it to .jpg because .jpeg was no good.