tum-vision / fastfusion Goto Github PK
View Code? Open in Web Editor NEWVolumetric 3D Mapping in Real-Time on a CPU
License: GNU General Public License v2.0
Volumetric 3D Mapping in Real-Time on a CPU
License: GNU General Public License v2.0
Hi all,
I am using your code with a different data set in which the depth images are in 16bit without any scaling. I tried to use the addMap function that receives the image already pre processed and the rgb image as a slpit. This will always create a segmentation error. I also tried to add the #define PREPROCESS_IMAGES
in the onlinefusionviewer.cpp and use the test data set in the example and also gives segmentation error in the same place. I will try to overcome this by scaling my images and using the other addMap function that works correctly, but it would be nice if this error was corrected.
Best Regards,
Pablo Aponte
Greeting. I'm trying to build fast fusion on a host with ROS kinetic installed. The instructions seem pretty straightforward, however I ran into what looks like an opencv (v2 vs v3) mismatch that I could use a few pointers on to resolve
following the readme:
cmake .
rosuser@rosvm:~/Documents/Git/fork/fastfusion$ cmake .
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /opt/ros/kinetic (found version "3.2.0")
-- GCC Major Version is 5
-- GCC Major Version is 4
-- Number of avx2 occurrences in /proc/cpuinfo: 0
-- Compiling without AVX2 support
-- PROJECT_SOURCE_DIR is /home/rosuser/Documents/Git/fork/fastfusion
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Did not find qglviewer2, linking qglviewer-qt4
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found
-- Found Qt4: /usr/bin/qmake (found version "4.8.7")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/rosuser/Documents/Git/fork/fastfusion
and then make
rosuser@rosvm:~/Documents/Git/fork/fastfusion$ make
Scanning dependencies of target geometryfusion_aos
[ 4%] Building CXX object src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o
In file included from /home/rosuser/Documents/Git/fork/fastfusion/src/fusion/geometryfusion_aos.cpp:8:0:
/home/rosuser/Documents/Git/fork/fastfusion/src/fusion/geometryfusion_aos.hpp:13:30: fatal error: opencv2/opencv.hpp: No such file or directory
compilation terminated.
src/fusion/CMakeFiles/geometryfusion_aos.dir/build.make:62: recipe for target 'src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o' failed
make[2]: *** [src/fusion/CMakeFiles/geometryfusion_aos.dir/geometryfusion_aos.cpp.o] Error 1
CMakeFiles/Makefile2:300: recipe for target 'src/fusion/CMakeFiles/geometryfusion_aos.dir/all' failed
make[1]: *** [src/fusion/CMakeFiles/geometryfusion_aos.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Looking online for this error, it appears to be fairly common when the host has a newer version of opencv. my search also revealed that it's non-trivial to install both versions alongside each other without breaking lots of stuff.
Is there a path here to either updating fast fusion to work out of the box with a newer version of opencv or guidance on how to satisfy the requirements withouth breaking a hosts other opencv dependencies?
I can help update the readme so that other running ros can be aware of a solution.
i am using the mac OS X, so how should i configure my machine to run the code?
jensen@jensen-ThinkPad-T480:~/fastfusion-master/build$ cmake ..
CMake Error at CMakeLists.txt:27 (list):
list index: 1 out of range (-1, 0)
-- GCC Major Version is 7
-- GCC Major Version is
-- Number of avx2 occurrences in /proc/cpuinfo: 8
-- Compiling with AVX2 support
-- PROJECT_SOURCE_DIR is /home/fcl/fastfusion-master
-- Found qglviewer2, linking QGLViewer
-- Configuring incomplete, errors occurred!
See also "/home/jensen/fastfusion-master/build/CMakeFiles/CMakeOutput.log".
See also "/home/jensen/fastfusion-master/build/CMakeFiles/CMakeError.log".
Has anyone encountered the same problem as me?
Hi,
I am using fastfusion on Ubuntu 16.04, and when i run fastfusion after building, I get the following error:
Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
I cannot delete either of the two because both are needed by basic OS applications.
Is fastfusion direcly importing GTK libraries, or could it be OpenCV importing symbols from both GTK versions?
Any hints how I can get pass it will be greatly appreciated.
Thanks.
This is the error during make:
[ 90%] Building CXX object src/CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o
Linking CXX executable ../bin/onlinefusion
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::init()":
onlinefusionviewer.cpp:(.text+0x533): riferimento non definito a "qglviewer::Camera::setPosition(qglviewer::Vec const&)"
onlinefusionviewer.cpp:(.text+0x571): riferimento non definito a "qglviewer::Camera::setFieldOfView(double)"
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::fastDraw()":
onlinefusionviewer.cpp:(.text+0x909): riferimento non definito a "QGLViewer::drawAxis(double)"
CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o: nella funzione "OnlineFusionViewerManipulated::setScenePosition(CameraInfo)":
onlinefusionviewer.cpp:(.text+0x299a): riferimento non definito a "qglviewer::Frame::setPosition(double, double, double)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o: nella funzione "QGLViewer::setSceneRadius(double)":
moc_onlinefusionviewer.cxx:(.text._ZN9QGLViewer14setSceneRadiusEd[_ZN9QGLViewer14setSceneRadiusEd]+0x5): riferimento non definito a "qglviewer::Camera::setSceneRadius(double)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[ZTV29OnlineFusionViewerManipulated]+0xd0): riferimento non definito a "QGLViewer::keyReleaseEvent(QKeyEvent)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x230): riferimento non definito a "QGLViewer::drawLight(unsigned int, double) const"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2e8): riferimento non definito a "QGLViewer::setKeyFrameKey(unsigned int, int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2f0): riferimento non definito a "QGLViewer::setPlayKeyFramePathStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x2f8): riferimento non definito a "QGLViewer::setPlayPathStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[_ZTV29OnlineFusionViewerManipulated]+0x300): riferimento non definito a "QGLViewer::setAddKeyFrameStateKey(unsigned int)"
CMakeFiles/onlinefusion.dir/moc_onlinefusionviewer.cxx.o:(.rodata._ZTV29OnlineFusionViewerManipulated[ZTV29OnlineFusionViewerManipulated]+0x308): riferimento non definito a "QGLViewer::setPathKey(int, unsigned int)"
collect2: error: ld returned 1 exit status
make[2]: ** [bin/onlinefusion] Errore 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Errore 2
make: *** [all] Errore 2
Thank you for your attention.
I have install libqglviewer-dev libqglviewer-dev-qt4 libqglviewer-doc
but still not work
could you recommand a library package for me?
The error list is as follow:
[ 36%] Built target geometryfusion_aos
[ 44%] Built target camerautils
[ 68%] Built target auxiliary
[ 80%] Built target geometryfusion_mipmap_cpu
[ 84%] Linking CXX executable ../bin/onlinefusion
/usr/bin/ld: cannot find -lqglviewer-qt4
collect2: error: ld returned 1 exit status
src/CMakeFiles/onlinefusion.dir/build.make:174: recipe for target 'bin/onlinefusion' failed
make[2]: *** [bin/onlinefusion] Error 1
CMakeFiles/Makefile2:96: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Hi,
Great work with the project. I was trying out the code and it worked perfectly fine. However I was wondering about the accuracy of the algorithm. I mean compared real measurements, how precise is the algorithm? Does everything depends on how accurate the depth maps and poses are?
Thanks in advance.
Regards
Abhay
I come across an error as the title says, and the full cmake output is as following:
OpenCV ARCH: x86
OpenCV RUNTIME: vc10
OpenCV STATIC: OFF
Found CUDA: C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v6.5 (found suitable exact version "6.5")
Found OpenCV 2.4.9 in D:/sdk/opencv249/x86/vc10/lib
You might need to add D:\sdk\opencv249\x86\vc10\bin to your PATH to be able to run your applications.
CMake Error at CMakeLists.txt:39 (string):
string sub-command REGEX, mode MATCHALL needs at least 5 arguments total to
command.
Number of avx2 occurrences in /proc/cpuinfo: 0
Compiling without AVX2 support
PROJECT_SOURCE_DIR is E:/Github/fastfusion
Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
Did not find qglviewer2, linking qglviewer-qt4
Configuring incomplete, errors occurred!
See also "E:/Github/fastfusion/_build.vc10/CMakeFiles/CMakeOutput.log".
See also "E:/Github/fastfusion/_build.vc10/CMakeFiles/CMakeError.log".
In file CMakeError.log
, I find msg like:
CheckSymbolExists.cxx(8): error C2065: 'Q_WS_X11' : undeclared identifier [E:\Github\fastfusion\_build.vc10\CMakeFiles\CMakeTmp\cmTryCompileExec2372179826.vcxproj]
0 Warning(s)
1 Error(s)
I've no idea what's the exact error, could someone help me out? Thx in advance~
I am getting the following error when I run cmake . command-
-- OpenCV ARCH:
-- OpenCV RUNTIME:
-- OpenCV STATIC: ON
CMake Warning at /home/aryastark/opencv-3.1.0/cmake/OpenCVConfig.cmake:166 (message):
Found OpenCV Windows Pack but it has no binaries compatible with your
configuration.
You should manually point CMake variable OpenCV_DIR to your build of OpenCV
library.
Call Stack (most recent call first):
CMakeLists.txt:11 (find_package)
CMake Error at CMakeLists.txt:11 (find_package):
Found package configuration file:
/home/aryastark/opencv-3.1.0/cmake/OpenCVConfig.cmake
but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be
NOT FOUND.
-- Configuring incomplete, errors occurred!
See also "/home/aryastark/fastfusion/CMakeFiles/CMakeOutput.log".
How should I resolve this?
There is an error under Ubuntu 14.04 64-bit:
Creating Viewer
(onlinefusion:25209): Gtk-ERROR **: GTK+ 2.x symbols detected. Using GTK+ 2.x and GTK+ 3 in the same process is not supported
Trace/breakpoint trap
Could you please clarify - is it possible to use the application under Ubuntu 14.04?
Best regards,
Vitaly
I met some difficulties during learn function intializeMeshCellStructures, its structures are too complex to understand, could you please give more details of its implementation.
/bin/onlinefusion only worked once after running make. At that time, it correctly displayed the map generated from the RGBD dataset. Since then, nothing is displayed in the viewer anymore (there are no errors shown in the terminal).
Hi Frank and others,
the "fastfusion" project is awesome! Thank you very much for sharing.
How do you deal with outliers, e.g. sparse point measurements away from an object? I am looking for a solution to be used with stereo cameras, which are not as precise as the pattern systems aka. Kinect.
Is there a process reducing the "occupancy probability" of a node (=Brick, or Voxel) if no measurements are put into it after some time?
Thanks again!
Hi does anyone know how to deal with the following installation problem?
When I run the 'make', it got the BOOST error. My desktop is Ubuntu 14.04 with Boost 1.58.0, cmake 3.5.1, and qt 4.8.7. Any advise would be appreciated.
[ 24%] Built target auxiliary
[ 36%] Built target geometryfusion_mipmap_cpu
[ 72%] Built target geometryfusion_aos
[ 80%] Built target camerautils
[ 84%] Generating moc_onlinefusionviewer.cxx
usr/include/boost/type_traits/detail/has_binary_operator.hp:50: Parse error at "BOOST_JOIN"
src/CMakeFiles/onlinefusion.dir/build.make:62: recipe for target 'src/moc_onlinefusionviewer.cxx' failed
make[2]: *** [src/moc_onlinefusionviewer.cxx] Error 1
CMakeFiles/Makefile2:96: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
I see commented out cuda includes in the Makefiles. Does that mean CUDA support is possible? Is the CUDA support functional?
I ported fastfusion to Windows 8.1, and tried to run it with rgbd_dataset_freiburg2_large_with_loop
but a exception occurred in void FusionMipmapCPU::pushMeshCellQueue()
relative code is
for (LeafNeighborhood::iterator j = _meshCellIndicesLeaf[leaf].begin(); j != _meshCellIndicesLeaf[leaf].end(); j++){
if ((*j) >= _meshCells.size())
fprintf(stderr, "\nERROR: Leaf Queue Index %li >= _meshCells.size() of %li",*j, _meshCells.size());
if (!(*_meshCellIsQueuedNext)[*j]){
if (*j >= MAXCELLINDEX){
fprintf(stderr, "\nERROR: Wrong Index at Leaf %i: ", leaf);
for (LeafNeighborhood::iterator k = _meshCellIndicesLeaf[leaf].begin(); k != _meshCellIndicesLeaf[leaf].end(); k++){
fprintf(stderr, " %li", *k);
}
}
/*....and so on*/
i put a breakpoint at if(!(*_meshCellIsQueuedNext)[*j])
and notice that *j==862
while _meshCellIsQueuedNext.size() == 0
and _meshCells.size() == 0
.
I couldn't find any _meshCells.push_back()
in this geometryfusion_mipmap_cpu.cpp
cmake says:
Did not find qglviewer2, linking qglviewer-qt4
While libqglviewer-qt4-2, libqglviewer-qt4-dev are installed.
During the build the following error occurs:
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::init()’:
./fastfusion-master/src/onlinefusionviewer.cpp:463:55: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::setScenePosition(CameraInfo)’:
./fastfusion-master/src/onlinefusionviewer.cpp:533:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp:534:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::draw()’:
./fastfusion-master/src/onlinefusionviewer.cpp:555:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
./fastfusion-master/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::fastDraw()’:
./fastfusion-master/src/onlinefusionviewer.cpp:585:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
make[2]: *** [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
make: *** [all] Error 2
hi, i am a newbie. i followed the installtion course to install the fastfusion.when i run make,there were several errors as follows:
[ 10%] Built target geometryfusion_mipmap_cpu
[ 15%] Built target camerautils
[ 40%] Built target auxiliary
[ 80%] Built target geometryfusion_aos
[ 85%] Building CXX object src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o
In file included from /home/exbot/fastfusion/src/fusion/treeandbrick.hpp:48:0,
from /home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:15,
from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:54:2: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:85:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:86:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:86:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:87:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:87:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:88:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:88:4: warning: this decimal constant is unsigned only in ISO C90 [enabled by default]
In file included from /home/exbot/fastfusion/src/fusion/treeandbrick.hpp:48:0,
from /home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:15,
from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp: In member function ‘void MCNSplit::print() const’:
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:406:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:412:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:418:67: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:427:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:434:67: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘unsigned int’ [-Wformat]
/home/exbot/fastfusion/src/fusion/treeandbrick_incremental.hpp:439:52: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
In file included from /home/exbot/fastfusion/src/onlinefusionviewer.hpp:14:0,
from /home/exbot/fastfusion/src/onlinefusionviewer.cpp:8:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameD(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:77:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameR(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:82:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameG(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:87:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameB(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:92:40: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp: In function ‘std::string getNameRGB(size_t)’:
/home/exbot/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:97:38: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::init()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:463:55: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::setScenePosition(CameraInfo)’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:533:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:534:20: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::draw()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:557:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘virtual void OnlineFusionViewerManipulated::fastDraw()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:587:35: error: invalid use of incomplete type ‘struct qglviewer::ManipulatedFrame’
/usr/include/QGLViewer/qglviewer.h:36:7: error: forward declaration of ‘struct qglviewer::ManipulatedFrame’
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In function ‘void fusionWrapper(std::vectorstd::vector<std::basic_string >, std::vectorstd::vector<std::basic_string >, std::vectorstd::vector, FusionParameter, volatile long int_, volatile long int_, volatile bool_, volatile bool_, volatile bool_)’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:981:45: warning: format ‘%li’ expects argument of type ‘long int’, but argument 5 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1041:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1047:65: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp: In member function ‘void OnlineFusionViewerManipulated::updateSlot()’:
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1173:48: warning: format ‘%li’ expects argument of type ‘long int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1173:48: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘size_t {aka unsigned int}’ [-Wformat]
/home/exbot/fastfusion/src/onlinefusionviewer.cpp:1217:98: warning: format ‘%li’ expects argument of type ‘long int’, but argument 4 has type ‘std::vectorstd::vector<std::basic_string >::size_type {aka unsigned int}’ [-Wformat]
make[2]: *_* [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
make: *** [all] Error 2
have someone had this problem? i need help! thank you very much !
ubuntu 12.04 and i had installed libQGLViewer-2.5.3.
Are there any pointers to run this code for online volumetric reconstruction? For example receive rgb and depth images from kinect sensor and build the dense map online.
Hi,
I am getting the following error while running make-
....
[ 84%] Generating moc_onlinefusionviewer.cxx
Scanning dependencies of target onlinefusion
[ 88%] Building CXX object src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o
In file included from /usr/local/include/QGLViewer/vec.h:32:0,
from /usr/local/include/QGLViewer/quaternion.h:26,
from /usr/local/include/QGLViewer/keyFrameInterpolator.h:29,
from /usr/local/include/QGLViewer/camera.h:27,
from /usr/local/include/QGLViewer/qglviewer.h:26,
from /home/initial/fastfusion/src/onlinefusionviewer.hpp:11,
from /home/initial/fastfusion/src/onlinefusionviewer_main.cpp:29:
/usr/local/include/QGLViewer/config.h:43:34: error: too many decimal points in number
: Use a version prior to 2.7.0 to remove this constraint
^
/usr/local/include/QGLViewer/config.h:80:25: fatal error: QOpenGLWidget: No such file or directory
compilation terminated.
src/CMakeFiles/onlinefusion.dir/build.make:67: recipe for target 'src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o' failed
make[2]: *** [src/CMakeFiles/onlinefusion.dir/onlinefusionviewer_main.cpp.o] Error 1
CMakeFiles/Makefile2:128: recipe for target 'src/CMakeFiles/onlinefusion.dir/all' failed
make[1]: *** [src/CMakeFiles/onlinefusion.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
Does anyone know how to resolve it?
Thanks in advance
Hi, is there any way to run this program without rgb image? I checked the code but did not find any function to fuse just depth map.
Hi @franksteinbruecker @christiankerl ,
Great work with the project, though I am 3 years behind you guys.I could be technically wrong since I just have a gist of how algorithm works. I just wanted to ask, how to finally save the 3d model onto the disk. I am really not sure if QGLViewer is capable to do that, since it is used directly to view 3D scenes but not saving the scene(correct me if I am wrong). May be saving the complete octree?
Thanks in advance.
I show my error of compilation:
michele@michele-VirtualBox:~/fastfusion$ make
[ 5%] Building CXX object src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/geometryfusion_mipmap_cpu.cpp.o
In file included from /home/michele/fastfusion/src/fusion/geometryfusion_mipmap_cpu.cpp:14:0:
/home/michele/fastfusion/src/fusion/geometryfusion_mipmap_cpu.hpp:19:28: fatal error: boost/thread.hpp: File o directory non esistente
#include <boost/thread.hpp>
^
compilation terminated.
make[2]: *** [src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/geometryfusion_mipmap_cpu.cpp.o] Errore 1
make[1]: *** [src/fusion/CMakeFiles/geometryfusion_mipmap_cpu.dir/all] Errore 2
make: *** [all] Errore 2
Thank you for your attention.
Hi I successfully completed all the process. When I try to run the program I got this error
"*** Error in `./bin/onlinefusion': realloc(): invalid pointer: 0x00007f541ff83840 ***
Aborted (core dumped)"
Hi,
First of all Great work. It really helped me to understand things about fusion and 3D reconstruction. It was running very well on TUM-Dataset, then I tried running on my own data set. Data is not very accurate but it is good enough to give decent results.
Unfortunately it is not working, it gives me the error "Erroneous Bounding Box of first frame: [1000000 1000000 1000000]-[-1000000 -1000000 -1000000]U[Q:0]" . I looked up in the code and understood how its working but still I was not able to rectify it.
Can someone please tell me what all things needed to be taken care of while running the program on personal dataset. Had someone tried it?
Thanks in Advance
when i try to run make cmd in Ubuntu 16.04,the following errors are shown. I do not know why this happen. My OpenCV version is 3.4.8
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp: In function ‘bool writePLYBinary(const string&, const cv::Mat&, cv::Mat, const cv::Mat&, const cv::Mat&)’:
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp:172:63: error: ‘type’ is not a member of ‘cv::DataType<cv::Vec<float, 3> >’
cv::Mat _posImage(disparityImage.rows,disparityImage.cols,cv::DataType<cv::
^
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp: In function ‘bool writePLY(const string&, const cv::Mat&, cv::Mat, const cv::Mat&, const cv::Mat&)’:
/home/ubuntu/fastfusion/src/auxiliary/plywriter.cpp:380:63: error: ‘type’ is not a member of ‘cv::DataType<cv::Vec<float, 3> >’
I would to run this code. But I can't find any detail about the dependent library. Such as the version of opencv. Pls let know. That will help me a lot.
I only want to save the mesh. Can l achieve this goal without the QGLViewer library? Thanks!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.