Giter Club home page Giter Club logo

opentsps's Issues

Possible TUIO move bug/feature and fix

Hi,

This may be a bug or a feature - I am not sure.

ofxTSPSTUIOSender::cursorDragged does not call myCursor[cursorId].isAlive = true;

This is causing a behaviour where by, blobs are sporadically getting into a state where they aren't alive and hence 'move' events are not generating TUIO event sends in ofxTSPSTUIOSender::update().

void ofxTSPSTUIOSender::cursorDragged(float x, float y, int cursorId) {
    myCursor[cursorId].x      = x;
    myCursor[cursorId].y      = y;
    myCursor[cursorId].moved   = true;
}

To fix this issue for my app I've have had to update the function as follows:

void ofxTSPSTUIOSender::cursorDragged(float x, float y, int cursorId) {
    myCursor[cursorId].x      = x;
    myCursor[cursorId].y      = y;
    myCursor[cursorId].moved   = true;
    myCursor[cursorId].isAlive = true;
}

bugs in ofxTSPSTCPSender.cpp

on line 131 of ofxTSPSTCPSender.cpp, the message string should probably read "haarrect" rather than "boundingrect".

also on line 136, the last character in a list of contour values will always be a comma. This may not be desired.

Optical flow and no blob tracking glitch

Optical flow does not start unless at least one blob has been detected AFTER optical flow has been enabled (it doesn't matter how many blobs were detected before enabling optical flow). After that, blob tracking can be disabled and optical flow will continue to work as it should have from the start.

New examples

what should they be?

  • drawing app
  • simple presence sensing
  • gesture slide show
  • WebGL 3D using Kinect depth data

compiling on os x in snow leopard

For anyone compiling under OSX, make sure Architectures in the build settings is 32-bit Universal. This won't compile as 64 bit (or 'Native Architecture of Build Machine' if you are running snow leopard).

Support video stream capture

it could be interesting to get a stream insetad of live cam, it could be made with a reference movie to use the quicktime support to get the stream or get a stream via ip directly

Clean up addons

delete old cv stuff not in use, move stuff to own repo(s) where possible (and add in as submodules)

Memory leaks

There are still memory leaks present related to blobs and blob tracking. Leaks seem to stop when blob tracking is disabled.

Add resolution switching

Add option to change resolution in GUI. A lot of the logic will have to be done on the tspsApp side.

Open TSPS app crash on different Mac OSX versions

Hello,
i´m trying to make a project using Open TSPS & Processing.
However, every time i´m trying to launch the Open TSPS (without processing) on the following OSX versions it just crash.

those are the not working OSX versions:

-10.6.8
-10.7.3

by the way i tried to open it up in windows and it works good.

any way you guys can help me with that ?

those are the mac report details:

Process: openTSPS [3879]
Path: /Volumes/Work Disc/openTSPS.app/Contents/MacOS/openTSPS
Identifier: com.yourcompany.openFrameworks
Version: ??? (???)
Code Type: X86 (Native)
Parent Process: launchd [113]

Date/Time: 2012-05-24 12:47:23.356 +0200
OS Version: Mac OS X 10.6.8 (10K549)
Report Version: 6

Interval Since Last Report: 498641 sec
Crashes Since Last Report: 16
Per-App Crashes Since Last Report: 8
Anonymous UUID: 7BF40E86-3400-451D-9CB9-DCBA90EC1356

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000
Crashed Thread: 0

Dyld Error Message:
Library not loaded: /usr/local/lib/libwebsockets.0.dylib
Referenced from: /Volumes/Work Disc/openTSPS.app/Contents/MacOS/openTSPS
Reason: image not found

Binary Images:
0x8fe00000 - 0x8fe4163b dyld 132.1 (???) <4CDE4F04-0DD6-224E-ACE5-3C06E169A801> /usr/lib/dyld

Model: iMac9,1, BootROM IM91.008D.B08, 2 processors, Intel Core 2 Duo, 2.66 GHz, 4 GB, SMC 1.44f0
Graphics: NVIDIA GeForce 9400, NVIDIA GeForce 9400, PCI, 256 MB
Memory Module: global_name
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x8E), Broadcom BCM43xx 1.0 (5.10.131.42.4)
Bluetooth: Version 2.4.5f3, 2 service, 12 devices, 1 incoming serial ports
Network Service: Ethernet, Ethernet, en0
Serial ATA Device: Hitachi HDT721064SLA360, 596.17 GB
Serial ATA Device: HL-DT-ST DVDRW GA11N
USB Device: Built-in iSight, 0x05ac (Apple Inc.), 0x8502, 0x24400000 / 3
USB Device: Keyboard Hub, 0x05ac (Apple Inc.), 0x1006, 0x24300000 / 2
USB Device: Apple Keyboard, 0x05ac (Apple Inc.), 0x0221, 0x24320000 / 4
USB Device: Apple Optical USB Mouse, 0x05ac (Apple Inc.), 0x0304, 0x06400000 / 3
USB Device: BRCM2046 Hub, 0x0a5c (Broadcom Corp.), 0x4500, 0x06100000 / 2
USB Device: Bluetooth USB Host Controller, 0x05ac (Apple Inc.), 0x8215, 0x06110000 / 6
USB Device: IR Receiver, 0x05ac (Apple Inc.), 0x8242, 0x04500000 / 2

ofxTSPSTCPSender.cpp possible 'boundingrect' bug

Pasted in from email...

From: Jeff Hoefs [email protected]
Date: Mon, 22 Nov 2010 20:28:11 +0000
To: Josh Walton [email protected]
Subject: OpenTSPS

Hey Joshua,

I have some down time this week so I’ve been messing around with openTSPS. It’s pretty cool.

I’ve been updating the Flash/AS3 example to work with the latest openTSPS code.

I found something in the ofxTSPSTCPSender.cpp (from latest code on github) file that I think may be incorrect. In the following code the message for haarRect is called “boundingrect”. I’m thinking this should actually be called “haarrect” so it doesn’t conflict with the actual bounding rect data. This was an issue in the AS3 code because the 2nd boundingrect overwrites the original boundingrect values with the haarRect values (if sending haarRect, otherwise 0). Not sure if its an issue for other client implementations or not.

/***************************************************************
GET PERSON STRING (so we don't have to write this so many times)
***************************************************************/

string ofxTSPSTCPSender::getPersonString( ofxTSPSPerson * p, ofPoint centroid, int cameraWidth, int cameraHeight, bool bSendContours ){

//construct a message with each value set separated by ;

// within each set, items are separated by ,
// and objects are separated by :
// e.g. velcoity is:
// "velocity:velocity.x:velocity.y"
// while contours are "contours:contour0.x:contour0.y,contour1.x:contour1.y..."

stringstream message;
message<<"id/"<<p->pid<<";";
message<<"age/"<<p->age<<";";
message<<"centroid/"<<"x>"<<p->centroid.x<<":"<<"y>"<<p->centroid.y<<";";
message<<"velocity/"<<"x>"<<p->velocity.x<<":"<<"y>"<<p->velocity.y<<";";

ofRectangle boundingRect = p->getBoundingRectNormalized(cameraWidth,cameraHeight);
    message<<"boundingrect/"<<"x>"<<boundingRect.x<<":"<<"y>"<<boundingRect.y<<":"<<"width>"<<boundingRect.width<<":"<<"height>"<<boundingRect.height<<";";

message<<"opticalflow/"<<"x>"<<p->opticalFlowVectorAccumulation.x<<":"<<"y>"<<p->opticalFlowVectorAccumulation.y<<";";
ofRectangle haarRect = p->getHaarRectNormalized(cameraWidth,cameraHeight);
( – this is what I’m talking about --> )message<<"boundingrect/"<<"x>"<<haarRect.x<<":"<<"y>"<<haarRect.y<<":"<<"width>"<<haarRect.width<<":"<<"height>"<<haarRect.height<<";";    

if (bSendContours){
    message<<"contours/";
    for (int i=0; i<p->simpleContour.size(); i++){
        message<<"x>"<<p->simpleContour[i].x<<":"<<"y>"<<p->simpleContour[i].y<<",";
    };
    message<<";";
}    
return message.str();

}

Anyway, gonna mess around with this over the next couple of days. Also noticed that the last character in the contour array is ‘,’ so the last value in the array is always 0. I’ll send you updated Flash code and let you know if I find any other potential bugs in the c++ code.

Best,

-jeff

Add device switching

Add the ability to set which camera you're grabbing from and/or switch on the fly from the GUI

Move to OF 0071

did a quick fix with new ofEvents(), worked great. need to:

  • update all ofEvents calls in addons
  • add install.xml to addons for auto-generating projects
  • add readme notes for what addons to include when auto-generating projects

another bug in ofxTSPSTCPSender::getPersonString

in line 123, should use the centroid parameter passed to the function rather than p-> centroid:

message<<"centroid/"<<"x>"<centroid.x<<":"<<"y>"<centroid.y<<";";

// use the following instead:
message<<"centroid/"<<"x>"<<centroid.x<<":"<<"y>"<<centroid.y<<";";

centroid was normalized in ofxTSPSPeopleTracker before being passed to the functions in ofxTSPSTCPSender so the parameter should be used.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.