labatrockwell / openTSPS

TSPS is a cross platform Toolkit for Sensing People in Spaces. It performs openCV operations on live video (Kinect, web camera, etc) and sends it to clients as JSON (via WebSockets), OSC, TUIO, or TCP.
http://www.openTSPS.com
194 stars 51 forks source link

Kinect 2? #80

Open kitschpatrol opened 10 years ago

kitschpatrol commented 10 years ago

Is anyone working on Kinect 2 support for TSPS?

I was thinking of taking a stab at this over the weekend... either in the form of a stand-alone OSC bridge based on the OF addon @joshuajnoble has started, or by trying to integrate with TSPS.

Just wanted to check before possibly duplicating effort.

robotconscience commented 10 years ago

Awesome! I just ordered mine (a little behind on the times), so won't be getting started for a few weeks. Let me know where you get to!

My preference would be for it to be built in like the original Kinect. Give me a shout here if you have questions on the Source API. See openTSPS / addons / ofxTSPS / libs / ofxTSPS / include / ofxTSPS / source / Source.h and Kinect.h for reference!

obviousjim commented 10 years ago

This is the addon we have been working with: https://github.com/joshuajnoble/ofxKinectV2

On Wednesday, June 11, 2014, Brett Renfer notifications@github.com wrote:

Awesome! I just ordered mine (a little behind on the times), so won't be getting started for a few weeks. Let me know where you get to!

My preference would be for it to be built in like the original Kinect. Give me a shout here if you have questions on the Source API. See openTSPS / addons / ofxTSPS / libs / ofxTSPS / include / ofxTSPS / source / Source.h and Kinect.h for reference!

— Reply to this email directly or view it on GitHub https://github.com/labatrockwell/openTSPS/issues/80#issuecomment-45810111 .

kitschpatrol commented 10 years ago

Thanks! The integration with TSPS looks like a little more work than anticipated — I couldn't find an existing skeleton broadcaster for the Kinect V1, and most of the existing architecture seems to favor blobs over skeletons.

Nothing insurmountable, but more than I had time to take on over the weekend.

I've started on a basic Kinect V2 --> OSC broadcaster here: https://github.com/kitschpatrol/Kinect2StarterKit

I hope to revisit TSPS integration once I've made some progress on the above.

robotconscience commented 10 years ago

OK! Thanks for looking into it. I'm up in the air with the best way forward; for now we'd just use ofxKinectV2 for windows. The dream is that libfreenect2 will get to a good state soon, but we tried it this week and it's still pretty sketchy (very slow, weirdly compressed depth data).

If you're just looking at broadcasting skeletons, this is something we've talked about in the past but have stuck with blob tracking to stay more general and work with non-depth cameras. It'd be great to start to think about that again!

joshuajnoble commented 10 years ago

@kitschpatrol nice work on that Kinect2StarterKit, let me know if there's anything I can do to help or anything I can clarify. There's still work to do done on ofxKinectV2 of course so any bugs you find or anything I can do to make your life easier, I'm happy to help.

mattfelsen commented 9 years ago

Hi all, checking in on this thread as we hover near the 1 year mark :smile: Hey @kitschpatrol did you get further with this? I took a look at your repo and see you're sending skeletons rather than blobs, as you mentioned before. Same deal with @danthemellowman's ofxKinect2Sender.

@robotconscience, I started looking through Source.h and Kinect.h in TSPS – trying to figure out the best route for adding Kinect2 compatibility. I see the virtual getDepth() method in Source.h but it doesn't seem to be used anywhere? Wondering if that's important. Looks like the core of it is implementing getPixelsRef() in the subclass (and it looks like the Kinect subclass is actually using the depth image rather than color/IR here).

robotconscience commented 9 years ago

Yes! Cracking open the ancient issue! :)

Matt, you're right overall. Essentially a TSPS source just needs to serve up good pixels, and for the kinect that means depth. I've started a bigger version that allows exposure of helpful params like min/max depth value.. But as you know I've been a little busy!

What's the state of ofxKinectV2? I got a version working with OpenCL at a good frame rate on OS x but that's a whole other can of worms. If you're thinking windows only it might be better to use the people image instead of just depth! It's pretty good, and running open cv on that gives you nice silhouettes.

End brain dump!

On Apr 24, 2015, at 5:19 PM, Matt Felsen notifications@github.com wrote:

Hi all, checking in on this thread as we hover near the 1 year mark Hey @kitschpatrol did you get further with this? I took a look at your repo and see you're sending skeletons rather than blobs, as you mentioned before. Same deal with @danthemellowman's ofxKinect2Sender.

@robotconscience, I started looking through Source.h and Kinect.h in TSPS – trying to figure out the best route for adding Kinect2 compatibility. I see the virtual getDepth() method in Source.h but it doesn't seem to be used anywhere? Wondering if that's important. Looks like the core of it is implementing getPixelsRef() in the subclass (and it looks like the Kinect subclass is actually using the depth image rather than color/IR here).

— Reply to this email directly or view it on GitHub.

joshuajnoble commented 9 years ago

My input: MS dropped supporting/developing the Kinect Common Bridge, I'd go with Elliot Woods addon for KinectV2 development.

On Fri, Apr 24, 2015 at 2:57 PM, Brett Renfer notifications@github.com wrote:

Yes! Cracking open the ancient issue! :)

Matt, you're right overall. Essentially a TSPS source just needs to serve up good pixels, and for the kinect that means depth. I've started a bigger version that allows exposure of helpful params like min/max depth value.. But as you know I've been a little busy!

What's the state of ofxKinectV2? I got a version working with OpenCL at a good frame rate on OS x but that's a whole other can of worms. If you're thinking windows only it might be better to use the people image instead of just depth! It's pretty good, and running open cv on that gives you nice silhouettes.

End brain dump!

On Apr 24, 2015, at 5:19 PM, Matt Felsen notifications@github.com wrote:

Hi all, checking in on this thread as we hover near the 1 year mark Hey @kitschpatrol did you get further with this? I took a look at your repo and see you're sending skeletons rather than blobs, as you mentioned before. Same deal with @danthemellowman's ofxKinect2Sender.

@robotconscience, I started looking through Source.h and Kinect.h in TSPS - trying to figure out the best route for adding Kinect2 compatibility. I see the virtual getDepth() method in Source.h but it doesn't seem to be used anywhere? Wondering if that's important. Looks like the core of it is implementing getPixelsRef() in the subclass (and it looks like the Kinect subclass is actually using the depth image rather than color/IR here).

Reply to this email directly or view it on GitHub.

Reply to this email directly or view it on GitHub https://github.com/labatrockwell/openTSPS/issues/80#issuecomment-96078030 .

joshua noble http://thefactoryfactory.com

robotconscience commented 9 years ago

That's what I've been using on windows, it's a good one. I'm more curious about libfreenect2... I have a fork of Theo's addon that works with their OpenCL stuff from a ways back, but it gives the occasional nasty frame. Will have to try their newest stuff and get back here for a Mac TSPS kinect 2 strategy.

mattfelsen commented 9 years ago

@robotconscience Yep, was thinking windows-only for KinectV2 (with Elliot's addon). What's the "people image?" Do you mean the color image?

robotconscience commented 9 years ago

The body index image. Check it out, it's sweet!

Code from another project; might be shit (and I'm on my mobile so who knows how well this will paste) but worked for us!

Shared/Kinect2Trigger.h

pragma once

include "Kinect2Mesh.h"

include "ofxCv.h"

class Kinect2Trigger : protected ofThread { public:

Kinect2Trigger() : threshold(15), maxRadius(1000), minRadius(1), ease(.9) { }

~Kinect2Trigger(){ waitForThread(); ofRemoveListener( ofEvents().update, this, &Kinect2Trigger::update ); }

void setup( Kinect2Mesh & kinectRef ){ // set references kinectManager = &kinectRef;

// setup body index kinectManager->getKinect().initBodyIndex();

// setup blob detector bNeedToProcess = false; threshold = 15; contourFinder.setMinAreaRadius(minRadius); contourFinder.setMaxAreaRadius(maxRadius); contourFinder.setThreshold(threshold); contourFinder.setInvert(true);

// wait for half a frame before forgetting something contourFinder.getTracker().setPersistence(60); // an object can move up to 32 pixels per frame contourFinder.getTracker().setMaximumDistance(32);

// trigger update loop ofAddListener( ofEvents().update, this, &Kinect2Trigger::update ); // start thread startThread(); }

void update( ofEventArgs & e ){ if ( ofGetElapsedTimef() < 10.0f ) return;

track = ofPixels( kinectManager->getKinect().getBodyIndex()->getPixelsRef());

int l_count;

if ( lock() ){ l_count = count; unlock();

if ( lastCount == 0 && l_count > 0 ){ ofNotifyEvent(onDetect); } else if ( lastCount != 0 && l_count == 0 ){ ofNotifyEvent(onEmpty); }

lastCount = l_count;

if ( track.size() != 0 && track.getImageType() == OF_IMAGE_GRAYSCALE ){ bNeedToProcess = true; } } }

// debugging only void draw(){ if ( !track.isAllocated() ){ ofLogError()<<"no trackin' tex"; return; } ofImage temp; temp.setFromPixels(track); temp.draw(0,0); ofPushMatrix(); ofTranslate(0,300); //ofNoFill(); contourFinder.draw(); ofFill(); ofPopMatrix(); }

ofEvent onDetect; ofEvent onEmpty;

// public props int threshold, maxRadius, minRadius; float ease;

protected:

void threadedFunction(){ while( isThreadRunning() ){ if ( bNeedToProcess ){ bNeedToProcess = false; lock(); trackBuffer = ofPixels(track); unlock(); if ( !trackAdd.isAllocated() ){ trackAdd = trackBuffer; }

float pixelEase = ease; float invPixelEase = 1.0 - pixelEase;

for ( int i=0; i<trackBuffer.size(); i++){ trackAdd[i] = trackAdd[i] * pixelEase + trackBuffer[i] * invPixelEase; }

trackBufferMat = ofxCv::toCv(trackAdd); count = contourFinder.size(); contourFinder.setThreshold(threshold); contourFinder.setMaxAreaRadius(maxRadius); contourFinder.setMinAreaRadius(minRadius); contourFinder.findContours(trackBufferMat); } else { } yield(); sleep(10); } }

bool bNeedToProcess; ofPixels track, trackBuffer, trackAdd;

cv::Mat trackBufferMat;

// blobs int lastCount, count;

Kinect2Mesh * kinectManager; ofxCv::ContourFinder contourFinder; };

On Apr 24, 2015, at 6:31 PM, Matt Felsen notifications@github.com wrote:

@robotconscience Yep, was thinking windows-only for KinectV2 (with Elliot's addon). What's the "people image?" Do you mean the color image?

— Reply to this email directly or view it on GitHub.

mattfelsen commented 9 years ago

Oh, the body index image! Gotcha. For this project the Kinect is mounted almost vertical so the it's a little unreliable. What would be nice though is to have a way in TSPS to pick a source (i.e. depth vs body index vs color vs IR) for inputs that support multiple image types. Looks like you've already got this "feature support" worked out for things like optical flow, skeleton, etc. so maybe that's a good place to add something like that.

kitschpatrol commented 9 years ago

Hi @mattfelsen et al, I regret that I haven't had time to work on this any further, but glad to hear there's been some outside progress on libfreenect2 and assorted skeleton senders.

mattfelsen commented 9 years ago

Alright, hit a wall here trying to get @elliotwoods' ofxKinectForWindows2 addon into the TSPS project. I'm using OF 0.8.4, VS2012 Express, Windows 8.1 Pro, openTSPS/master, and ofxKinectForWindows2/0.8.4. The addon seems to work fine on its own using the example project or creating a new project from projectGenerator with & without adding the addon, i.e. the process from each of these guides: http://rbarraza.com/setting-up-kinect-2-for-openframeworks/ http://rbarraza.com/adding-ofxkinectforwindows2-to-a-new-or-existing-of-project/

After following the second guide to get the addon into the openTSPS project, it will compile fine after adding the solution & properties files, but once I add #include ofxKinectForWindows2.h I get a ton of compile errors (screenshot below). I also tried adding the 4 tweaks Rick outlines in the first article but that doesn't seem to help. The errors are odd...maybe it's something with C++11 syntax?

The source changes I made are available here. I didn't commit any changes to the project file so anyone looking at this would have to add the KFW2 addon/lib stuff via one of the articles above https://github.com/local-projects/openTSPS/tree/feature/kinect2

Hopefully someone has some idea of what's going on!

screenshot 1

mattfelsen commented 9 years ago

Pinging @rickbarraza as well as I just found his GitHub username :smile:

joshuajnoble commented 9 years ago

These all look like missing declarations, are you sure your paths are all correct? I had to monkey a lot with the path settings and make sure that I rebooted post-install for things to be found correctly. You could also check all your system paths to double-check that the KINECTSDK20_DIR is correct.

ghost commented 9 years ago

This blog post outlines all the references you need to set to have it working with OpenFrameworks (if you're doing it by hand ).

http://rbarraza.com/setting-up-kinect-2-for-openframeworks/

You may need to pull the property sheet from the ofxKinectForWindows2 (it's one of the steps listed), but that's where you can find what all the dependencies seem to be for getting a c++ project referenced correctly.

Let me know if that works,

ghost commented 9 years ago

My current public tutorials have switched to using the ofxKinectForWindows2 addon for OF made by Elliot Woods et al ( and I'll have more sample lessons at github.com/rickbarraza going up this week ), but if you want to use Joshua Noble's plug-in ( which I was using for a long time too ), here is the old URL to the preview page that let you go step by step:

Setup OpenFrameworks & Kinect V2 for Visual Studio Express 2012 http://rbarraza.com/?p=206&preview=true

And what you're looking for: Using the ofxKinectV2 addon with OpenFrameworks http://rbarraza.com/?p=275&preview=true

Feel free to share the URL's. I dropped them down to preview mode since I didn't want the confusing of multiple Kinect 2 OF addons on my website right now, but those posts are still used by people who would prefer to use ofxKinect2 from Josh.

mattfelsen commented 9 years ago

Thanks @joshuajnoble and @rickbarraza for the tips. The guide got me up & running for a newly created project, but now I'm remembering that TSPS has a weird, non-standard OF project/directory structure that may be causing path issues. I'll dive deeper tomorrow and see if I can get it sorted out. Cheers!

mattfelsen commented 9 years ago

Hey @rickbarraza I'm getting 404s on the new links you just posted, though I am indeed using the newer ofxKinectForWindows2 :+1:

robotconscience commented 9 years ago

@mattfelsen you mean awesome, maintainable project structure? :)

Shouldn't be messing you up tho. I think Joshua has the right move, def make sure the SDK dir is set. Will have time to work Thursday if you still need help then!

mattfelsen commented 9 years ago

I made a new project at the same level as the existing basic/multicam projects, i.e. openFrameworks/openTSPS/standalone/basic/openTSPS.sln openFrameworks/openTSPS/standalone/KFW2Test/KFW2Test.sln and used the "Adding ofxKFW2 to an existing project" guide and things worked as expected - compiled & running with the color or depth streams - so adding the addon/lib/properties and making sure all the paths are correct seem to be right.

I'm still having trouble with the openTSPS project though! All of the various settings from the .props file look like they get included/inherited/referenced properly...I also tried copying the Include/Library Directories entries that get set on ofxKinectForWindows2Lib onto the openTSPS project, but no dice. It does seem link a linker error because it seems to compile the whole project and then dump errors at the end, though maybe I'm just expecting that behavior since that's how Xcode usually presents linker errors.

screenshot 4 screenshot 5

robotconscience commented 9 years ago

Yikes! That's a lot of errors.

Can you post your project to a repo? Working on a diff project with Kinect 2 and have an idea of what it might be.

mattfelsen commented 9 years ago

Sure thing, just pushed here --> https://github.com/local-projects/openTSPS/commits/feature/kinect2-project

A couple notes:

robotconscience commented 9 years ago

@mattfelsen et al, new working "feature-kinect2" branch for ya. I'll merge into master once I can test interoperability with ofxKinect.

For now it's a separate project in standalone/basic. I also added a tweakable near/far thresh to the GUI.

robotconscience commented 9 years ago

(I'll close this once a) I add in ofxKinectV2 for Mac and b) I can test if ofxKinect + ofxKinectForWindows2 play nice together)

mattfelsen commented 9 years ago

@robotconscience Amazing! What did you do to get it to work?? I have Kinects 1 & 2 around so I can do some basic testing. Let me know if there's anything in particular to pay attention to!

robotconscience commented 9 years ago

Few things:

As far as testing goes, I would need to re-add or ofxKinect to the project and see if you can seamlessly switch between ofxKinect and the Kinect 2. I ripped it out before I figured out the Kinect.h issue, as it looked like it was giving me issues. Might be OK!

mattfelsen commented 9 years ago

screenshot 6 @robotconscience Compiles fine, but I get this on launch. I've definitely got an openframeworksLib.lib at the shown path...any thoughts here? OF 0.8.4?

robotconscience commented 9 years ago

Woah! ...Definitely start with a rebuild. I ran against 0.8.4 as well.

Did you checkout direct into openframeworks/ ? If you're at the right level should work fine.

mattfelsen commented 9 years ago

Yep, project is at /c/of_v0.8.4_vs_release/openTSPS (weird, Unix-style representation of a Windows path :smile:). standalone/basic/openTSPS.sln compiles fine on the master branch. I'm getting this error in both Debug & Release builds, after a Clean Solution and a Rebuild Solution. Also tried compiling OF directly from OF/libs/openFrameworksCompiled/project/vs/openFrameworksLib.vcxproj (both Debug & Release). Lots of threads on the OF forum with the same problem, all unanswered...

I'm a jinx.

robotconscience commented 9 years ago

Hmmmmm.

Double check all of the property configs and make sure they're the same, e.g. stuff like multi-threaded DLL, visual studio toolset, optimization level, etc! My guess is it's something like that. I had to change the tool set in at least the ofxK4W project to work for VS 2k12.

mattfelsen commented 9 years ago

Progress! After noticing that openFrameworks was bold in the sidebar, I googled binged "visual studio solution exploxer bold project" (with typo) to find that OF was set as the StartUp project. After setting openTSPS as StartUp, it now runs! I'm getting all black input from the cam in Release mode, so I'm recompiling in Debug now. Were you in Debug or Release, @robotconscience?

robotconscience commented 9 years ago

Is every window all black? Are the LEDs on in the camera? Try tweaking the near/far in the "camera" tab, and threshold in the "sensing" tab. You're close!

Wish I would have remembered the startup thing, classic VS weirdness!

mattfelsen commented 9 years ago

Ah, had to drag the far threshold way up. Success!

elliotwoods commented 9 years ago

does this work? it's quite a long thread and i feel like joining the conversation now will only lead to major confusion (in my brain)

mattfelsen commented 9 years ago

@elliotwoods yes-ish. Theres's an openTSPS_Kinect2 project in the feature-kinect2 branch that is working, though only supports Kinect2 (i.e. Kinect1 support was removed to get it to compile).

robotconscience commented 9 years ago

@elliotwoods ditto for Matt's comments. I took the Kinect 1 stuff out mostly out of paranoia; seems to be at least compiling OK with both. Your addon is killer btw!

robotconscience commented 9 years ago

@mattfelsen Support for Kinect 1 and 2 now in feature-kinect2. Merging with master once I figure out the weird OS X version.

Check the Readme; it does require a proposed fix to ofxKinect to compile (looks like all newer Win ofxKinect projects need it though).

mattfelsen commented 9 years ago

👏👏👏

MoritzSkowronski commented 9 years ago

Hey, I'm having some problems coompiling the kinect2 branch on Windows 8.1 Pro (64). When trying to compile with VS 2013 I get a lot of "unsupported Windows Version" errors. When compiling with VS2010 I get "unsupported Platform Toolset". Before digging to deep: Should it compile on Windows 8.1 or did you test in on another Windows Version?

All the best & thanks for the great work!

robotconscience commented 9 years ago

Hey @Skofo1! I was testing with Windows 8, but I don't see why it wouldn't work for you. My guess would be that the _WIN32_WINNT define needs to be higher. If you open the "preprocessor definitions" in the project, maybe try changing it to Windows 7, _WIN32_WINNT=0x0601

Let me know if that works, totally just a guess! The Toolset errors you're getting in VS2k10 are because the compiler is set to 2013 toolset by default, which 2010 probably doesn't recognize.

mattfelsen commented 9 years ago

Hey @Skofo1, just confirming that I had that branch compiling (though, an older commit facd421ad011003bd48f7a794eaee2cfcc7b88d9) on Windows 8.1, VS2012 Express, OF 0.8.4. Not sure if VS2013 changes anything for compatibility, thoughI do think that VS2013/2015 support in OF wasn't really there in v0.8.4, and has since come a long way in the upcoming 0.9.

If you're trying to get it running in VS2010, here's how to change the platform toolset (look toward the bottom). I think you'd have to do this for all the projects in the solution (OF, KFW, and TSPS), which you should be able to do all at the same time (ctrl-click to select multiple projects, then hit Properties so you can edit all of them together) https://msdn.microsoft.com/en-us/library/ff770576.aspx

MoritzSkowronski commented 9 years ago

Hey, thanks for the quick answer. I tried it again using VS2012 Ultimate, latest stable Version of OF. Now I get tons of warnings and about 80 errors: These are in Peopletracker.cpp, libusb.h, winsock2.h, libusbmenu.cpp, core.c. Sorry for the german language, if this is making trouble I'll install the english version for english error messages:

Fehler 83 error C2065: 'Kinect': nichtdeklarierter Bezeichner 140 Fehler 84 error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'kinectSource' 140 Fehler 85 error C2065: 'kinectSource': nichtdeklarierter Bezeichner 140 Fehler 86 error C2065: 'kinectSource': nichtdeklarierter Bezeichner 141 Fehler 87 error C2228: Links von ".available" muss sich eine Klasse/Struktur/Union befinden. 141 Fehler 290 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 292 error C2011: 'timeval': 'struct' Typneudefinition 169 Fehler 294 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 296 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 302 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 304 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 306 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 308 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 309 error C2079: 'timeout' verwendet undefiniertes struct 'timeval' 79 Fehler 310 error C2228: Links von ".tv_sec" muss sich eine Klasse/Struktur/Union befinden. 80 Fehler 311 error C2228: Links von ".tv_usec" muss sich eine Klasse/Struktur/Union befinden. 81 Fehler 312 error C2664: 'freenect_process_events_timeout': Konvertierung des Parameters 2 von 'int ' in 'timeval ' nicht möglich 82 Fehler 314 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 316 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 318 error C2011: 'timeval': 'struct' Typneudefinition 45 Fehler 319 error C2011: 'libusb_device_descriptor': 'struct' Typneudefinition 115 Fehler 320 error C2011: 'libusb_endpoint_direction': 'enum' Typneudefinition 132 Fehler 321 error C2011: 'libusb_transfer_status': 'enum' Typneudefinition 138 Fehler 322 error C2011: 'libusb_transfer_type': 'enum' Typneudefinition 149 Fehler 323 error C2011: 'libusb_transfer_flags': 'enum' Typneudefinition 156 Fehler 324 error C2011: 'libusb_transfer': 'struct' Typneudefinition 163 Fehler 325 error C2011: 'libusb_iso_packet_descriptor': 'struct' Typneudefinition 180 Fehler 326 error C2011: 'libusb_error': 'enum' Typneudefinition 187 Fehler 327 error C2079: 'desc' verwendet undefiniertes struct 'libusb_device_descriptor' 377 Fehler 328 error C2664: 'libusb_get_device_descriptor': Konvertierung des Parameters 2 von 'int ' in 'libusb_device_descriptor ' nicht möglich 378 Fehler 329 error C2228: Links von ".idVendor" muss sich eine Klasse/Struktur/Union befinden. 382 Fehler 330 error C2228: Links von ".idProduct" muss sich eine Klasse/Struktur/Union befinden. 382 Fehler 331 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 444 Fehler 332 error C2228: Links von ".num_iso_packets" muss sich eine Klasse/Struktur/Union befinden. 444 Fehler 333 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 445 Fehler 334 error C2228: Links von ".iso_packet_desc" muss sich eine Klasse/Struktur/Union befinden. 445 Fehler 335 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 446 Fehler 336 error C2228: Links von ".iso_packet_desc" muss sich eine Klasse/Struktur/Union befinden. 446 Fehler 337 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 476 Fehler 338 error C2227: Links von "->iso_packet_desc" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 476 Fehler 339 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 477 Fehler 340 error C2227: Links von "->iso_packet_desc" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 477 Fehler 341 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 483 Fehler 342 error C2227: Links von "->flags" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 483 Fehler 343 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 484 Fehler 344 error C2227: Links von "->buffer" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 484 Fehler 345 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 498 Fehler 346 error C2227: Links von "->dev_handle" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 498 Fehler 347 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 499 Fehler 348 error C2227: Links von "->endpoint" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 499 Fehler 349 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 500 Fehler 350 error C2227: Links von "->buffer" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 500 Fehler 351 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 501 Fehler 352 error C2227: Links von "->length" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 501 Fehler 353 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 502 Fehler 354 error C2227: Links von "->num_iso_packets" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 502 Fehler 355 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 503 Fehler 356 error C2227: Links von "->callback" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 503 Fehler 357 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 504 Fehler 358 error C2227: Links von "->timeout" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 504 Fehler 359 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 505 Fehler 360 error C2227: Links von "->user_data" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 505 Fehler 361 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 506 Fehler 362 error C2227: Links von "->type" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 506 Fehler 363 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 510 Fehler 364 error C2227: Links von "->flags" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 510 Fehler 365 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 512 Fehler 366 error C2227: Links von "->actual_length" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 512 Fehler 367 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 513 Fehler 368 error C2227: Links von "->status" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 513 Fehler 369 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 523 Fehler 370 error C2227: Links von "->num_iso_packets" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 523 Fehler 371 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 524 Fehler 372 error C2227: Links von "->iso_packet_desc" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 524 Fehler 373 error C2228: Links von ".length" muss sich eine Klasse/Struktur/Union befinden. 524 Fehler 374 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 544 Fehler 375 error C2227: Links von "->buffer" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 544 Fehler 376 error C2227: Links von "->length" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 544 Fehler 377 error C2027: Verwendung des undefinierten Typs "libusb_transfer" 556 Fehler 378 error C2227: Links von "->dev_handle" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 556 Fehler 379 error C2227: Links von "->dev" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 556 Fehler 380 error C2227: Links von "->isoTransfers" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. 556 Fehler 381 error C1903: Weiterverarbeitung nach vorherigem Fehler nicht möglich; Kompilierung wird abgebrochen. 556 384 IntelliSense: Der Bezeichner ""Kinect"" ist nicht definiert. 140

elliotwoods commented 9 years ago

note that the current master branch of ofxKinectForWindows2 is setup for 0.9.0 / VS2015 for a version which is tested with 0.8.4 / VS2012,2013, check out the 0.8.4 tag rather than the master branch

but it looks like libusb errors, i.e. libfreenect not Kinect For Windows so not something I can help with

robotconscience commented 9 years ago

Hey @Skofo1, it's tricky, check the Readme for a fix for ofxKinect on Windows: https://github.com/labatrockwell/openTSPS/tree/feature-kinect2#compiling

The problem's related to a windows-library include that conflicts between a couple of the libraries. However, it also looks like your Kinect path (from Kinect v2) is also unresolved. Have you installed the Kinect SDK? Check a few of the links above if you're having issues there!

(and thanks @elliotwoods for jumping in on the KFW2 stuff!)

marnickmenting commented 7 years ago

Is there any update on this? I am not experienced with compiling, I need Windows binaries. Happy to help and test, I have Kinect v1 and v2, Windows and Mac available here. I am downloading 1.3.8 now for Mac to test it.

marnickmenting commented 7 years ago

I can confirm that on macOS Sierra 10.12.1, TSPS 1.3.8 works for Kinect v2.

robotconscience commented 7 years ago

Awesome. In my experience it's still a little unstable--unfortunately haven't had time in a while to work on it! Would love some help if you're up to it!

marnickmenting commented 7 years ago

I would like to help, but I am not experienced in Windows or Mac development, just Unity and web. The Mac version of Kinect2 branch still works fine, no crashes after several days. Can someone make Windows binaries?