mirror of
https://github.com/overte-org/overte.git
synced 2025-08-08 23:36:44 +02:00
More work on Kinect integration.
This commit is contained in:
parent
c683204df7
commit
3d214c2655
1 changed files with 13 additions and 1 deletions
|
@ -181,6 +181,8 @@ FrameGrabber::FrameGrabber() : _capture(0), _searchWindow(0, 0, 0, 0), _freenect
|
||||||
|
|
||||||
FrameGrabber::~FrameGrabber() {
|
FrameGrabber::~FrameGrabber() {
|
||||||
if (_freenectContext != 0) {
|
if (_freenectContext != 0) {
|
||||||
|
freenect_stop_depth(_freenectDevice);
|
||||||
|
freenect_stop_video(_freenectDevice);
|
||||||
freenect_close_device(_freenectDevice);
|
freenect_close_device(_freenectDevice);
|
||||||
freenect_shutdown(_freenectContext);
|
freenect_shutdown(_freenectContext);
|
||||||
|
|
||||||
|
@ -198,7 +200,7 @@ void FrameGrabber::grabFrame() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (_freenectContext != 0) {
|
if (_freenectContext != 0) {
|
||||||
|
freenect_process_events(_freenectContext);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,11 +252,21 @@ void FrameGrabber::grabFrame() {
|
||||||
Q_ARG(cv::Mat, frame), Q_ARG(cv::RotatedRect, faceRect));
|
Q_ARG(cv::Mat, frame), Q_ARG(cv::RotatedRect, faceRect));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void depthCallback(freenect_device* freenectDevice, void* depth, uint32_t timestamp) {
|
||||||
|
}
|
||||||
|
|
||||||
|
static void videoCallback(freenect_device* freenectDevice, void* video, uint32_t timestamp) {
|
||||||
|
}
|
||||||
|
|
||||||
bool FrameGrabber::init() {
|
bool FrameGrabber::init() {
|
||||||
// first try for a Kinect
|
// first try for a Kinect
|
||||||
if (freenect_init(&_freenectContext, 0) >= 0) {
|
if (freenect_init(&_freenectContext, 0) >= 0) {
|
||||||
if (freenect_num_devices(_freenectContext) > 0) {
|
if (freenect_num_devices(_freenectContext) > 0) {
|
||||||
if (freenect_open_device(_freenectContext, &_freenectDevice, 0) >= 0) {
|
if (freenect_open_device(_freenectContext, &_freenectDevice, 0) >= 0) {
|
||||||
|
freenect_set_depth_callback(_freenectDevice, depthCallback);
|
||||||
|
freenect_set_video_callback(_freenectDevice, videoCallback);
|
||||||
|
freenect_start_depth(_freenectDevice);
|
||||||
|
freenect_start_video(_freenectDevice);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue