rgbdemo / nestk Goto Github PK
View Code? Open in Web Editor NEWC++ Library for Kinect
Home Page: http://nicolas.burrus.name/index.php/Research/KinectUseNestk
License: Other
C++ Library for Kinect
Home Page: http://nicolas.burrus.name/index.php/Research/KinectUseNestk
License: Other
Core library used by RGBDemo to process Kinect data. Check http://github.com/rgbdemo/nestk for more information.
I've recently rolled back from freenect 1:0.1.2 (neurodebian repo) to the less current freenect 1:0.0.1 (ubuntu precise). Nestk wouldn't build anymore halting on the 'ntk/camera/grabber'.
Skimming through the code my preliminary conclusion was that the grabber interface in the freenect back-end has changed and some methods aren't present anymore.
thoughts on this?
greets, thanks, Luuk
Hi,
I have a problem with the handpoint_tracking.cpp sample. It compiles
fine, but does not work. The BodyDetector callback system doesn't work at all. It
doesn't give me any output.
This line:
cv::Point3f handpoint = body_event_listener.getLastHandPosInImage();
returns either zeros or nonsense, but most of the time zeros.
It seems that triggerHandPoint() and triggerEvent() method is never called.
I added skeleton tracking and from the displayed skeleton I know
that the user was detected and is being tracked. Is the MyBodyListener
class OK? Since there is no documentation I don't know how to check
for failures and as I mentioned before, there is no compilation error.
Thanks.
davide [email protected] via googlegroups.com
to rgbdemo
Hi everyone,
I tried to calibrate my kinect with libfreenect backend but I could not get the viewer running with freenect backend (although I started it with ./rgbd-viewer --freenect). It always starts with openni and the ir image could not be shown in the viewer. I've looked in the software files and I could not find a create function for freenect the file rgbd_graber_factory.cpp only manages:
createKin4winGrabbers(params, grabbers);
createOpenniGrabbers(params, grabbers);
createPmdGrabbers(params, grabbers);
createSoftKineticGrabbers(params, grabbers);
and no freenect grabber.
I'm using the newest version of RGB-Demo 26045e12a3 from the git repository downloaded with "git clone --recursive git://github.com/nburrus/rgbdemo.git"
compiled on Linux Mint 12 Lisa.
Thanks for your help in advance,
Can you update the openni/nite to the latest unstable version? Because the version have now the auto calibration feature, that the user must not do the psi pose. ;)
I have the latest libs from openni/nite/primesence installed. Can i disable openni/nite from nestk and use the unstable versions that i have also installed? I try it with NESTK_USE_EMBEDDED_OPENNi but it dont work. Maybe you can please tell me how i can upgrade the stuff.
Thx!
Best Regards,
Marco
I have updated the main.cpp sample from github, Now the previous errors are
removed..
But it is now giving new errors while running make.
[100%] Building CXX object CMakeFiles/main.dir/main.cpp.o
In file included from /home/jr-v/nestk/ntk/camera/openni_grabber.h:24,
from /home/jr-v/nestk/samples/example_external/
main.cpp:22:
/home/jr-v/nestk/ntk/gesture/skeleton.h:112: warning: type qualifiers
ignored on function return type
/home/jr-v/nestk/ntk/gesture/skeleton.h:148: warning: type qualifiers
ignored on function return type
/home/jr-v/nestk/ntk/gesture/skeleton.h:191: warning: type qualifiers
ignored on function return type
/home/jr-v/nestk/ntk/gesture/skeleton.h:226: warning: type qualifiers
ignored on function return type
Linking CXX executable main
CMakeFiles/main.dir/main.cpp.o: In function main': main.cpp:(.text+0x175): undefined reference to
ntk::OpenniDriver::OpenniDriver()'
main.cpp:(.text+0x1a1): undefined reference to
ntk::OpenniGrabber::OpenniGrabber(ntk::OpenniDriver&, int)' main.cpp:(.text+0x1f0): undefined reference to
ntk::OpenniGrabber::connectToDevice()'
main.cpp:(.text+0x497): undefined reference to
ntk::Skeleton::drawOnImage(cv::Mat&) const' main.cpp:(.text+0x514): undefined reference to
ntk::Skeleton::drawOnImage(cv::Mat&) const'
main.cpp:(.text+0x870): undefined reference to
ntk::OpenniDriver::~OpenniDriver()' main.cpp:(.text+0x884): undefined reference to
ntk::OpenniDriver::OpenniDriver()'/nestk/samples/example_external$ make
CMakeFiles/main.dir/main.cpp.o: In function
ntk::OpenniGrabber::~OpenniGrabber()': main.cpp: (.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::~OpenniGrabber()] +0x19): undefined reference to
vtable for ntk::OpenniGrabber'
main.cpp:
(.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::OpenniGrabber()]/nestk/samples/example_external$ clear
+0x27): undefined reference to vtable for ntk::OpenniGrabber' main.cpp: (.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::~OpenniGrabber()] +0x39): undefined reference to
vtable for ntk::OpenniGrabber'
collect2: ld returned 1 exit status
make[2]: *** [main] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2
jr-v@jr-v-desktop:
jr-v@jr-v-desktop:
Linking CXX executable main
CMakeFiles/main.dir/main.cpp.o: In function main': main.cpp:(.text+0x175): undefined reference to
ntk::OpenniDriver::OpenniDriver()'
main.cpp:(.text+0x1a1): undefined reference to
ntk::OpenniGrabber::OpenniGrabber(ntk::OpenniDriver&, int)' main.cpp:(.text+0x1f0): undefined reference to
ntk::OpenniGrabber::connectToDevice()'
main.cpp:(.text+0x497): undefined reference to
ntk::Skeleton::drawOnImage(cv::Mat&) const' main.cpp:(.text+0x514): undefined reference to
ntk::Skeleton::drawOnImage(cv::Mat&) const'
main.cpp:(.text+0x870): undefined reference to
ntk::OpenniDriver::~OpenniDriver()' main.cpp:(.text+0x884): undefined reference to
ntk::OpenniDriver::~OpenniDriver()'
CMakeFiles/main.dir/main.cpp.o: In function
ntk::OpenniGrabber::~OpenniGrabber()': main.cpp: (.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::~OpenniGrabber()] +0x19): undefined reference to
vtable for ntk::OpenniGrabber'
main.cpp:
(.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::~OpenniGrabber()]
+0x27): undefined reference to vtable for ntk::OpenniGrabber' main.cpp: (.text._ZN3ntk13OpenniGrabberD1Ev[ntk::OpenniGrabber::~OpenniGrabber()] +0x39): undefined reference to
vtable for ntk::OpenniGrabber'
collect2: ld returned 1 exit status
make[2]: *** [main] Error 1
make[1]: *** [CMakeFiles/main.dir/all] Error 2
make: *** [all] Error 2
Reported by mkter [email protected]
Hi,
it's me again. With the changes from 0.6.1 to 0.7 the example
application synchronized_multiple_kinects broke. After starting, there
are two lines with "Setting resolution to VGA" (I use two kinects.)
Then nothing happens. It hangs at synchronized_multiple_kinects.cpp:
63. The needed event is never set.
I use:
Win7 64Bit
VS2010 (compilation is done with 32Bit)
QT 4.7.4
OpenCV 2.3.1
PCL 1.4
OpenNI + SensorKinect (latest from git)
Nite 1.3.1
The other multi kinect applications (rgbd-multikinect and multiple-
kinects) do work.
Hello again!
Sorry for being so annoying :)
I tried running the cmake configuration file ant this time it wouldn't find my libfreenect. I believe that, in line 29 of 'nestk / cmake / FindFreenect.cmake' file it should read NAME libfreenect, and not just freenect.
I am no expert on CMake, but I used the following configuration and it is working for me:
ELSE (WIN32)
FIND_PATH( FREENECT_INCLUDE_DIR libfreenect.h
HINTS ${NESTK_ROOT_DIRS_HINTS}
PATHS /usr /usr/local /sw /opt
PATH_SUFFIXES include include/libfreenect libfreenect
DOC "The directory where libfreenect.h resides")
FIND_LIBRARY( FREENECT_LIBRARIES
NAMES libfreenect.so
PATHS /usr/local/lib64
DOC "The freenect library")
ENDIF (WIN32)
So I just put the final path on the PATHS and the NAMES I also included the .so extension.
Thanks
While compiling nestk on a Fedora 15, I have the following error :
nburrus-nestk-fcd2984/ntk/numeric/levenberg_marquart_minimizer.cpp:66:25: error: reference ‘m_cost_function’ cannot be declared ‘mutable’ [-fpermissive]
[ 62%] Building CXX object ntk/CMakeFiles/nestk.dir/numeric/differential_evolution_solver.o
[ 63%] Building CXX object ntk/CMakeFiles/nestk.dir/numeric/differential_evolution_minimizer.o
make[2]: *** [ntk/CMakeFiles/nestk.dir/numeric/levenberg_marquart_minimizer.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [ntk/CMakeFiles/nestk.dir/all] Error 2
make: *** [all] Error 2
Gcc version :gcc version 4.6.1 20110908 (Red Hat 4.6.1-9) (GCC)
Hello,
i need the automatic calibration via file (saveCalibrationdata(userid,filename)). So i have updated openni, nite and SensorKinect. Now i get many errors :(
Is it possible to update the used libs? or exists any method in nestk to load the calibrationdata via file?
Best Regards,
Marco
estk/ntk/libnestk.a(nite_rgbd_grabber.o): In function xn::ImageGenerator::GetMetaData(xn::ImageMetaData&) const': /workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:3086: undefined reference to
xnGetImageMetaData'
nestk/ntk/libnestk.a(nite_rgbd_grabber.o): In function xn::UserGenerator::GetUserPixels(unsigned int, xn::SceneMetaData&) const': /workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:4218: undefined reference to
xnGetUserPixels'
nestk/ntk/libnestk.a(nite_rgbd_grabber.o): In function xn::UserGenerator::GetUsers(unsigned int*, unsigned short&) const': /workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:4202: undefined reference to
xnGetUsers'
nestk/ntk/libnestk.a(nite_rgbd_grabber.o): In function xn::SkeletonCapability::IsTracking(unsigned int) const': /workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:3827: undefined reference to
xnIsSkeletonTracking'
nestk/ntk/libnestk.a(nite_rgbd_grabber.o): In function xn::OutputMetaData::Free()': /workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:211: undefined reference to
xnOSFreeAligned'
/workspace/mundus-nestk/nestk/deps/openni/Include/XnCppWrapper.h:211: undefined reference to `xnOSFreeAligned'
/workspace/mundus-nestk/nestk/deps/openni/In
I want to use Pointcloud data.
mesh.vertices[i] is right ???
According to Cristobal Belles:
//=============47 ms en un i7
for_all_rc(m_image->depthMaskRef())
{
float d = m_image->depth()(r,c);
if (d < 1e-5 || ntk::math::isnan(d))
m_image->depthMaskRef()(r,c) = 0;
else
m_image->depthMaskRef()(r,c) = 255;
}
//=============
Equivalent code, faster in debug mode:
//=============3 ms
cv::Mat1b& depth_mask = m_image->depthMaskRef();
const cv::Mat1f& depth = m_image->depth();
for (int r = 0; r < depth_mask.rows; ++r)
{
unsigned char* f_depth_mask = depth_mask.ptr<unsigned char>(r);
const float* f_depth = depth.ptr<float>(r);
for (int c = 0; c < depth_mask.cols; ++c)
{
float d = f_depth[c];
if (d < 1e-5 || ntk::math::isnan(d))
f_depth_mask[c] = 0;
else
f_depth_mask[c] = 255;
}
}
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.