RemoteSensingFrank / UAVProduct

处理无人机影像的代码,使用了OpenMVG,openMVS以及GDAL库等,实现影像几何校正,影像拼接,点云生成等功能
245 stars 131 forks source link

发现一个bug #7

Closed kingskynine closed 5 years ago

kingskynine commented 5 years ago

在UAVProcessGeometry.cpp中第57行 函数 openMVG::Vec3 UAVProcessGeometry::UAVProcessGeoXYZToBLH(double x,double y,double z)中

double dL = atan(fabs(y / z)) 180 / PI;//57行 应该是double dL = atan(fabs(y / x)) 180 / PI;

RemoteSensingFrank commented 5 years ago

是的,这里写错了,谢谢我会进行修改,不难怪我有时候XYZ求解没有问题转换到投影坐标就错了

kingskynine commented 5 years ago

100%] Linking CXX executable UAVProcess CMakeFiles/UAVProcess.dir/UAVPreProcess.cpp.o:在函数‘UAVProcessPOSSimple::UAVPorcessPOSGet(std::cxx11::basic_string<char, std::char_traits, std::allocator >, bool)’中: UAVPreProcess.cpp:(.text+0x1dc8):对‘stlplus::folder_exists(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x1df2):对‘stlplus::folder_files(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x1e33):对‘openMVG::exif::Exif_IO_EasyExif::Exif_IO_EasyExif()’未定义的引用 UAVPreProcess.cpp:(.text+0x1ece):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x20dc):对‘stlplus::file_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 CMakeFiles/UAVProcess.dir/UAVPreProcess.cpp.o:在函数‘UAVProcessList::UAVProcessListGet(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >, calib&, EINTRINSIC, bool, std::cxx11::basic_string<char, std::char_traits, std::allocator >, UAVProcessPOS, coordilisttype)’中: UAVPreProcess.cpp:(.text+0x235a):对‘stlplus::folder_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x23a1):对‘stlplus::extension_part(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x240a):对‘stlplus::folder_part(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x2419):对‘stlplus::folder_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x244a):对‘stlplus::folder_part(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x2459):对‘stlplus::folder_create(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x24b1):对‘stlplus::folder_files(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x2542):对‘stlplus::file_exists(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x284d):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x2866):对‘stlplus::filename_part(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x288a):对‘openMVG::image::ReadImageHeader(char const, openMVG::image::ImageHeader*)’未定义的引用 UAVPreProcess.cpp:(.text+0x29ab):对‘openMVG::exif::Exif_IO_EasyExif::Exif_IO_EasyExif()’未定义的引用 UAVPreProcess.cpp:(.text+0x2ac9):对‘openMVG::exif::Exif_IO_EasyExif::Exif_IO_EasyExif()’未定义的引用 UAVPreProcess.cpp:(.text+0x32df):对‘openMVG::sfm::GroupSharedIntrinsics(openMVG::sfm::SfM_Data&)’未定义的引用 UAVPreProcess.cpp:(.text+0x3337):对‘openMVG::sfm::Save(openMVG::sfm::SfM_Data const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, openMVG::sfm::ESfM_Data)’未定义的引用 CMakeFiles/UAVProcess.dir/UAVPreProcess.cpp.o:在函数‘UAVProcessMatches::UAVProcessMatchesList(std::cxx11::basic_string<char, std::char_traits, std::allocator >, int, bool, std::cxx11::basic_string<char, std::char_traits, std::allocator >)’中: UAVPreProcess.cpp:(.text+0x3627):对‘stlplus::file_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x36dc):对‘openMVG::sfm::Load(openMVG::sfm::SfM_Data&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, openMVG::sfm::ESfM_Data)’未定义的引用 UAVPreProcess.cpp:(.text+0x4222):对‘stlplus::filename_part(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x423b):对‘stlplus::folder_part(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x425f):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 CMakeFiles/UAVProcess.dir/UAVPreProcess.cpp.o:在函数‘UAVProcessFeature::UAVProcessFeatList(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)’中: UAVPreProcess.cpp:(.text+0x52c7):对‘stlplus::file_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x52e7):对‘stlplus::folder_exists(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x52fd):对‘stlplus::folder_create(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x5358):对‘openMVG::sfm::Load(openMVG::sfm::SfM_Data&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, openMVG::sfm::ESfM_Data)’未定义的引用 UAVPreProcess.cpp:(.text+0x547c):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x54bf):对‘stlplus::basename_part(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x54e3):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x5553):对‘stlplus::basename_part(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 UAVPreProcess.cpp:(.text+0x5577):对‘stlplus::create_filespec(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)’未定义的引用 C

最后一步link的时后出错

/usr/bin/c++ -fopenmp CMakeFiles/UAVProcess.dir/UAVPreProcess.cpp.o CMakeFiles/UAVProcess.dir/UAVBundler.cpp.o CMakeFiles/UAVProcess.dir/common_header.cpp.o CMakeFiles/UAVProcess.dir/UAVProcessGeometry.cpp.o CMakeFiles/UAVProcess.dir/UAVMapCalculate.cpp.o CMakeFiles/UAVProcess.dir/UAVGeoCorrection.cpp.o CMakeFiles/UAVProcess.dir/UAVProcessGeoMosaic.cpp.o CMakeFiles/UAVProcess.dir/UAVProcessGCP.cpp.o CMakeFiles/UAVProcess.dir/UAVSeamFinder.cpp.o CMakeFiles/UAVProcess.dir/UAVPOSPorcess.cpp.o CMakeFiles/UAVProcess.dir/UAVICPProc.cpp.o CMakeFiles/UAVProcess.dir/UAVMapCalculateTools.cpp.o CMakeFiles/UAVProcess.dir/UAVMain.cpp.o -o UAVProcess -L/home/newston/UAVenv/UAVProduct/UAVProduct/SiftGPU -L/home/newston/UAVenv/UAVProduct/UAVProduct/UAVAlgorithm -rdynamic /usr/local/lib/libgtest.a /usr/local/lib/libIL.so /usr/local/lib/libILU.so /usr/local/lib/libILUT.so SiftGPU/libsiftgpu.so UAVAlgorithm/libUAVAlgorithm.so -lgdal /usr/local/lib/libvlsift.a /usr/local/lib/libopenMVG_easyexif.a -lpython2.7 -lglut -lGL -lX11 -lIL -lGLEW -lglut -lXmu -lXi -lGLU -lGL -lgdal -Wl,-rpath,/home/newston/UAVenv/UAVProduct/UAVProduct/SiftGPU:/home/newston/UAVenv/UAVProduct_build/UAVProduct/UAVAlgorithm:/home/newston/UAVenv/UAVProduct/UAVProduct/UAVAlgorithm:/usr/local/lib:/home/newston/UAVenv/UAVProduct_build/UAVProduct/SiftGPU

cmake -DOpenMVG_DIR=/usr/local/share/openMVG/cmake -DOpenMVS_DIR=/usr/local/lib/CMake/OpenMVS -D EXIF_LIBRARYI=/usr/local/lib/libopenMVG_easyexif.a -DSIFT_LIBRARYI=/usr/local/lib/libvlsift.a 请问你那能编译通吗,我这边编译一直报这个错误,能帮忙看下嘛,最后一步链接错误